VC++实现发送邮件功能

邮件系统通常采用SMTP作为发送协议,POP3作为接受协议(具体内容参考RFC821、RFC1225)。无论是发邮件,还是收邮件都必须要与邮件服务器连接,再通过邮件信息结构发送邮件。VC里提供了三个类CPop3(连接接受邮件服务器)、CSMTP(连接发送邮件服务器)、CMailMessage(邮件信息结构)

下面是个例子,你参考一下!

//发送邮件
void   CTestDlg::OnBtnSendMail()  
{
//更新数据
UpdateData(   TRUE   );
//建立CSMTP对象
CSMTP   Smtp(m_SMTPServer   );
//新建CMailMessage对象,并初始化
CMailMessage   msg;
msg.m_sFrom   =   m_From;
msg.AddMultipleRecipients(   m_To   );
msg.m_sSubject   =   m_MailSubject;
msg.m_sBody   =   m_MailBody;
//连接SMTP服务器
if(   !Smtp.Connect()   )
{
AfxMessageBox(   Smtp.GetLastError()   );
return;
}
//发送邮件
if(   !Smtp.SendMessage(   &msg   )   )
{
AfxMessageBox(   Smtp.GetLastError()   );
return;
}
//断开连接
if(   !Smtp.Disconnect()   )
{
AfxMessageBox(   Smtp.GetLastError()   );
return;
}
AfxMessageBox(   _T(   "成功断开与服务器的连接! "   )   );
}
//接收邮件
void   CTestDlg::OnBtnReceiveMail()  
{
//更新数据
UpdateData(   TRUE   );
//新建CPOP3对象
CPOP3   pop3(   m_Pop3Server   );
pop3.SetUserProperties(m_UserName,m_Password);
//连接POP3服务器
if   (!pop3.Connect())
{
AfxMessageBox(   pop3.GetLastError()   );
return;
}
//收取邮件
CMailMessage   msg;
if   (!pop3.GetMessage(1,&msg))
{
AfxMessageBox(   pop3.GetLastError()   );
return;
}
//显示邮件
m_MailBody=msg.m_sBody;
m_MailSubject=msg.m_sSubject;
m_From=msg.m_sFrom;
m_To= " ";
for   (int   a=0;   a <msg.GetNumRecipients();   a++)
{
CString   sEmail;
CString   sFriendly;
msg.GetRecipient(sEmail,sFriendly,a);
m_To+=sEmail;
m_To+= "   ";
}
m_To.TrimRight();
//断开连接
if(   !pop3.Disconnect()   )
{
AfxMessageBox(   pop3.GetLastError()   );
return;
}
AfxMessageBox(   _T(   "成功断开与服务器的连接! "   )   );
UpdateData(FALSE);
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值