工控编程吧
标题:
345上位机VC MFC实现邮件及附件的发送
[打印本页]
作者:
qq263946146
时间:
2016-9-20 16:23
标题:
345上位机VC MFC实现邮件及附件的发送
(, 下载次数: 4)
上传
点击文件名下载附件
实现邮件及附件的发送
功能展示
前面例程介绍利用JMAIL组件实现邮件的接收及发送,但发送功能不理,受限。我们当前例程通过自编写的类实现邮件的发送,还可发送附件,效果如图。如图输入正确的信息后就可点击<发送邮件>发送邮件,还可以点击添加附件,附带要一同发送的附件
要点提示
在运行例程,输入发信人邮件时,邮件后台必须设置开通了POP3/SMTP服务功能,且密码必须输入正确,密码是POP3/SMTP服务功能的密码,不是邮件账号的密码;
实现功能
1.新建基于对话框的应用程序
2.复制例程根目录四文件base64.cpp,base64.h,CSmtp.cpp,CSmtp.h到自己项目的根目录中,再将四文件加载到项目工程中,在主对话框类中添加#include “CSmtp.h“ 以便可以使用文件中的CSMTPServer类;
3.依照界面添加编辑框IDC_SERVER,IDC_ACCOUNT,IDC_PASSWORD,IDC_SENDER,IDC_RECEIVER,IDC_TITLE分别对应 邮箱服务器,服务器账号,服务器密码,发信人,收信人邮箱标题,再添加编辑框IDC_CONTENT用于邮件内容的输入,可此控件额外属性;
4.最后添加<添加附件><发送邮件>按钮控件,关联按钮的点击函数
void CGkbc8Dlg::OnAttatch()
{
CFileDialog Dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,NULL);
if(Dlg.DoModal() == IDOK)
{
m_sAttatch = Dlg.GetPathName();
SetDlgItemText(IDC_ATTATCH,m_sAttatch);
}
}
void CGkbc8Dlg::OnSend()
{
CSMTPServer mail;
if(mail.GetLastError() != CSMTP_NO_ERROR)
{
MessageBox("Unable to initialise winsock2.\n");
return ;
}
CString sServer,sAccount,sPassword,sSender,sReceiver,sTitle,sContent;
GetDlgItemText(IDC_SERVER,sServer);//服务器地址
GetDlgItemText(IDC_ACCOUNT,sAccount);//服务器账号
GetDlgItemText(IDC_PASSWORD,sPassword); //服务器密码
GetDlgItemText(IDC_SENDER,sSender); //发信人邮箱地址
GetDlgItemText(IDC_RECEIVER,sReceiver);//增加收件人邮件地址
GetDlgItemText(IDC_TITLE,sTitle);
GetDlgItemText(IDC_CONTENT,sContent);
//<>
mail.SetSMTPServer(sServer);
mail.SetLogin(sAccount);
mail.SetPassword(sPassword);
mail.SetSenderName("工控编程吧");
mail.SetSenderMail(sSender);
mail.SetReplyTo(sSender);
mail.AddRecipient(sReceiver);
mail.SetSubject(sTitle);
mail.SetXPriority(XPRIORITY_NORMAL); //发送等级
mail.SetXMailer("The Cat! (v1.01) Amateur");
mail.SetMessageBody(sContent);
if(!m_sAttatch.IsEmpty())
mail.AddAttachment("c:\\jmail.dll"); //可选择要一同发送的附件
if( mail.Send() )
MessageBox("The mail was send successfully.\n");
else
{
CString sError;
sError.Format("%s\n",GetErrorText(mail.GetLastError()));
MessageBox(sError);
}
}
其中m_sAttatch为自定义成员变量用于保存要发送的附件名称
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/28d0800a1c8062b81640f5e25e7d3068/0/0/w_19rstit48t.swf-albumId=6347769809-tvId=6347769809-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件 [weixinlianxi]1[/weixinlianxi]
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4