如何自动发送邮件
2008-06-29 22:40
302 查看
在我的程序中要用到自动发送邮件这个功能,网上也有很多资料。其实发送邮件还是比较的简单, 首先看下牛人写的摘要 http://www.cnblogs.com/abiao/articles/303090.html 下面就是我实现的代码,最重要的一点是设置outlook express 对于自动发送。需要在 Outlook Express 的安全设置中,取消“当有其他应用程序试图发送邮件时警告”这个选 项。对于 Outlook,似乎使用 Simple MAPI 还没有禁止安全警告的方法。 HMODULE m_hLibrary = ::LoadLibrary(_T("MAPI32.DLL"));
ULONG (PASCAL *lpfnSendMail)(ULONG, ULONG, MapiMessage*, FLAGS, ULONG); (FARPROC&)lpfnSendMail = GetProcAddress(m_hLibrary , "MAPISendMail");
if (lpfnSendMail == NULL) {
AfxMessageBox(AFX_IDP_INVALID_MAPI_DLL);
return 0;
}
MapiMessage message;
memset(&message, 0, sizeof(message));
char text[200];
strcpy(text,"id:");
strcat(text,m_id);
strcat(text,",password:");
strcat(text,m_password);
message.lpszNoteText=text;
MapiRecipDesc recip;
memset(&recip,0,sizeof(MapiRecipDesc));
recip.lpszAddress =m_login.email;
recip.ulRecipClass = MAPI_TO;
message.nRecipCount = 1; //收件人个数
message.lpRecips = &recip; //收件人
message.lpszSubject = "个人信息"; //主题
message.lpszNoteText = text; //正文内容
//发送邮件 int nError = lpfnSendMail(0, 0,&message, 0, 0);
if (nError != SUCCESS_SUCCESS && nError != MAPI_USER_ABORT
&& nError != MAPI_E_LOGIN_FAILURE) { AfxMessageBox(AFX_IDP_FAILED_MAPI_SEND);
}
本人是用qq邮箱作为发邮件相的 http://mail.qq.com/help/content/client.html 通过这个设置就可以发送邮件了啊
ULONG (PASCAL *lpfnSendMail)(ULONG, ULONG, MapiMessage*, FLAGS, ULONG); (FARPROC&)lpfnSendMail = GetProcAddress(m_hLibrary , "MAPISendMail");
if (lpfnSendMail == NULL) {
AfxMessageBox(AFX_IDP_INVALID_MAPI_DLL);
return 0;
}
MapiMessage message;
memset(&message, 0, sizeof(message));
char text[200];
strcpy(text,"id:");
strcat(text,m_id);
strcat(text,",password:");
strcat(text,m_password);
message.lpszNoteText=text;
MapiRecipDesc recip;
memset(&recip,0,sizeof(MapiRecipDesc));
recip.lpszAddress =m_login.email;
recip.ulRecipClass = MAPI_TO;
message.nRecipCount = 1; //收件人个数
message.lpRecips = &recip; //收件人
message.lpszSubject = "个人信息"; //主题
message.lpszNoteText = text; //正文内容
//发送邮件 int nError = lpfnSendMail(0, 0,&message, 0, 0);
if (nError != SUCCESS_SUCCESS && nError != MAPI_USER_ABORT
&& nError != MAPI_E_LOGIN_FAILURE) { AfxMessageBox(AFX_IDP_FAILED_MAPI_SEND);
}
本人是用qq邮箱作为发邮件相的 http://mail.qq.com/help/content/client.html 通过这个设置就可以发送邮件了啊
相关文章推荐
- 如何配置Subversion自动发送邮件
- 如何配置禅道管理自动发送通知邮件
- 如何自动检测死锁并发送警告邮件
- .NET中如何用Outlook自动发送邮件(C#)
- 浅析linux下如何用脚本自动发送文本mail邮件
- SAP 如何用ABAP实现自动发送外部邮件
- 配置-如何用ABAP实现自动发送外部邮件
- PHP——php脚本如何自动发送邮件
- magento 如何在跳转到支付界面前自动发送邮件
- 浅析linux下如何用脚本自动发送文本mail邮件
- 在代理环境下如何使用IdSMPT自动发送邮件如果
- magento 如何在跳转到支付界面前自动发送邮件
- [Outlook] outlook如何实现自动CC和BCC邮件发送
- 如何把Domino所有用户接收和发送的邮件都自动地拷贝到一个数据库中
- 如何用ABAP实现自动发送外部邮件
- PHP 如何自动发送邮件?
- 如何用ABAP实现自动发送外部邮件
- [MSSQL]如何用SQLServer自动发送邮件
- 如何用ABAP实现自动发送外部邮件
- 如何配置禅道管理自动发送通知邮件