VC++实现发送邮件功能
2011-12-03 22:22
477 查看
邮件系统通常采用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);
}
下面是个例子,你参考一下!
//发送邮件
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);
}
相关文章推荐
- VC MFC 邮件发送功能的实现
- 教大家修改注册实现注册发送邮件的功能
- 在java程序中实现发送邮件的功能
- Spring Boot实现邮件发送功能
- javaMail Java实现邮件发送,群发功能,java发送邮件
- C# 实现邮件收取发送功能
- java+jsp+struts2实现发送邮件功能
- Jenkins+maven+git 实现自动构建、权限管理、静态代码检测、远程部署、发送邮件功能
- 通过spring实现javamail发送邮件功能
- python实现12306抢票及自动邮件发送提醒付款功能
- java实现发送邮件功能
- php实现邮件发送---实用的小功能(一)
- java实现发送邮件功能
- linux , python 发送邮件,基本实现了mutt常用功能
- python脚本实现发送邮件功能
- thinkphp实现发送邮件密码找回功能实例
- 用JAVA MAIL实现发送邮件的功能
- Spring实现JavaMail邮件发送功能
- python3模块smtplib实现发送邮件功能
- springboot 实现邮件发送功能