您的位置:首页 > 其它

如何自动发送邮件

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 通过这个设置就可以发送邮件了啊
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: