- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 电工电子技术(曹建林)全套PPT课件.pptx
- 《民宿文化与运营》课件——第四章 民宿建设.pptx VIP
- 2022版《医疗器械生产监督管理办法》考核试题及答案.docx VIP
- 10KV配电箱验收流程及规范.docx VIP
- 污水处理厂BOT项目投标文件.doc VIP
- 2025届上海浦东新区高三一模高考历史模拟试卷(含答案解析).pdf VIP
- 舒蕾上市谈判手册.docx VIP
- DB4103T 129-2021 产(商)品检验检测机构服务规范.pdf VIP
- 七猫中文网投稿申请表.pdf VIP
- 《C语言程序设计 第4版》 课件全套 索明何 第1--8章 C语言程序设计入门---应用软件设计.pptx
文档评论(0)