1 / 12
文档名称:

发送电子邮件的代码.doc

格式:doc   大小:126KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

发送电子邮件的代码.doc

上传人:phl808 2019/11/1 文件大小:126 KB

下载得到文件列表

发送电子邮件的代码.doc

文档介绍

文档介绍:发送电子邮件的代码————————————————————————————————作者:————————————————————————————————日期: #include<>#include""//SMTP服务器标准端口号#defineSMTP_PORT25//定义接受缓冲区大小#defineRESPONSE_BUFFER_SIZE1024ClassCSMTP{Public:CSMTP(LPCTSTRszSMTPServerName,UINTnPort=SMTP_PORT);virtual~CSMTP();//记录服务器属性的接口voidSetServerProperties(LPCTSTRszSMTPServerName,UINTnPort=SMTP_PORT);CStringGetLastError();UINTGetPort();//与服务器的联系函数BOOLDisconnect();BOOLConnect();//解释收到的回应信息VirtualBOOLFormatMailMessage(CMailMessage*msg);BOOLSendMessage(CMailMessage*msg);CStringGetServerHostName();//连接是阻塞式的,因此要提供取消通信的方法voidCancel();private://处理获得的回应信息BOOLget_response(UINTresponse_expected);//处理邮件正文CStringcook_body(CMailMessage*msg);CStringm_sError;BOOLm_bConnected;UINTm_nPort;CStringm_sSMTPServerHostName();//与SMTP服务器通信的套接字CSocketm_wsSMTPServer;Protected://发送邮件消息virtualBOOLtransmit_message(CMailMessage*msg);structresponse_code{//如果没有得到回应信息,则给出出错信息UINTnResponse;TCHAR*sMessage;};enumeResponse{ESS=0,ESS,ESS,QUIT_SUCESS,//LAST_RESSONSE是最后一个元素LAST_RESSONSE};TCHAR*response_buf;Staticresponse_coderesponse_table[];};ViodCMailDlg::OnSend(){//获得用户填入的信息CStringstrServerAddress,strFrom,strTo,strCopyTo;CStringstrSend,strTitle,strContent;GetDlgItemText(IDC_EDIT_SMTP,strServerAddress);GetDlgItemText(IDC_EDIT_FROM,strFrom);GetDlgItemText(IDC_EDIT_TO,strTo);GetDlgItemText(,strCopyTo);GetDlgItemText(,strSend);GetDlgItemText(IDC_EDIT_SUBJECT,strTitle);GetDlgItemText(IDC_EDIT_BODY,strContent);If(()){//收信人地址为空AfxMessageBox(_T("请填写收信人地址"));Return;}If(()){//主题栏为空AfxMessageBox(_T("主题栏不应为空"));Return;}If(()){//信件内容为空AfxMessageBox(_T("这是空邮件"));Return;}If(()){//服务器地址栏为空AfxMessageBox(_T("请填写邮件服务器的IP地址"));Return;}//告诉用户正在处理邮件BeginWaitCursor();//不再接受消息This->EnableWindow(FALSE);//开始发送邮件CMIMEMessagemsg;CSMTPsmtp(strServerAddress);//=strFrom;=strTitle;=strContent;//(strTo);//处理附件intnCount=m_listFi