发送电子邮件代码.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服务器标准端口号 #define SMTP_PORT 25 //定义接受缓冲区大小 #define RESPONSE_BUFFER_SIZE 1024 Class CSMTP { Public: CSMTP(LPCTSTR szSMTPServerName,UINT nPort=SMTP_PORT); virtual~CSMTP(); //记录服务器属性的接口 void SetServerProperties(LPCTSTR szSMTPServerName,UINT nPort=SMTP_PORT ); CString GetLastError(); UINT GetPort(); //与服务器的联系函数 BOOL Disconnect(); BOOL Connect(); //解释收到的回应信息 Virtual BOOL FormatMailMessage(CMailMessage*msg); BOOL SendMessage(CMailMessage*msg); CString GetServerHostName(); //连接是阻塞式的,因此要提供取消通信的方法 void Cancel(); private: //处理获得的回应信息 BOOL get_response(UINT response_expected); //处理邮件正文 CString cook_body(CMailMessage*msg); CString m_sError; BOOL m_bConnected; UINT m_nPort; CString m_sSMTPServerHostName(); //与SMTP服务器通信的套接字 CSocket m_wsSMTPServer; Protected: //发送邮件消息 virtual BOOLtransmit_message(CMailMessage*msg); struct response_code { //如果没有得到回应信息,则给出出错信息 UINT nResponse; TCHAR* sMessage; }; enum eResponse { GENERIC_SUCCESS=0, CONNECT_SUCCESS, DATA_SUCCESS, QUIT_SUCESS, //LAST_RESSONSE 是最后一个元素 LAST_RESSONSE }; TCHAR *response_buf; Static response_code response_table[]; }; Viod CMailDlg::OnSend() { //获得用户填入的信息 CString strServerAddress,strFrom,strTo,strCopyTo; CString strSend,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); //开始发送邮件 CMIMEMessage msg; CSMTP smtp(strServerAddress); //初始化邮件消息体 msg.m_sFrom=strFr

文档评论(0)

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

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

1亿VIP精品文档

相关文档