发送电子邮件的代码.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
#includeafxsock.h #includeMailMessage.h //SMTP服务器标准端口号 #defineSMTP_PORT25 //定义接受缓冲区大小 #defineRESPONSE_BUFFER_SIZE1024 ClassCSMTP { 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 { GENERIC_SUCCESS=0, CONNECT_SUCCESS, DATA_SUCCESS, 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(IDC_EDIT_CC,strCopyTo); GetDlgItemText(IDC_EDIT_BCC,strSend); GetDlgItemText(IDC_EDIT_SUBJECT,strTitle); GetDlgItemText(IDC_EDIT_BODY,strContent); If(strTo.IsEmpty()) { //收信人地址为空 AfxMessageBox(_T(请填写收信人地址)); Return; } If(strTitle.IsEmpty()) { //主题栏为空 AfxMessageBox(_T(主题栏不应为空)); Return; } If(strContent.IsEmpty()) { //信件内容为空 AfxMessageBox(_T(这是空邮件)); Return; } If(strServerAddress.IsEmpty()) { //服务器地址栏为空 AfxMessageBox(_T(请填写邮件服务器的IP地址)); Return; } //告诉用户正在处理邮件 BeginWaitCursor(); //不再接受消息 This-EnableWindow(FALSE); //开始发送邮件 CMIMEMessagemsg; CSMTPsmtp(strServerAddress); //初始化邮件消息体 msg.m_sFrom=strFrom; msg.m_sSubject=strTitle; msg.m_sBody=strContent; //处理

文档评论(0)

linyin1994 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档