1,221
社区成员
发帖
与我相关
我的任务
分享
bool SendMailTest(char* szToEmail, char* szToTitle,char* szToContent)
{
MapiMessage message;
memset(&message, 0, sizeof(message));
message.lpszSubject = szToTitle;
message.nFileCount = 0;
message.lpFiles = NULL;
message.flFlags = MAPI_SENT;
message.ulReserved = 0;
message.lpszNoteText = szToContent;
MapiRecipDesc recv = {0};
recv.ulRecipClass = MAPI_TO;
recv.lpszAddress = "";
recv.lpszName = szToEmail;
message.lpRecips = &recv;
message.nRecipCount = 1;
HINSTANCE hMAPI = LoadLibrary(L"MAPI32.DLL");
if ( hMAPI == NULL )
return false;
ULONG (PASCAL *SendMail)(ULONG, ULONG_PTR, MapiMessage*, FLAGS, ULONG);
(FARPROC&)SendMail = GetProcAddress(hMAPI, ("MAPISendMail"));
if (!SendMail)
{
::FreeLibrary(hMAPI);
return false;
}
int nError = SendMail(0,(ULONG)::GetDesktopWindow(),&message,0,0);
if (nError != SUCCESS_SUCCESS &&
nError != MAPI_USER_ABORT && nError != MAPI_E_LOGIN_FAILURE)
{
::FreeLibrary(hMAPI);
return false;
}
::FreeLibrary(hMAPI);
return true;
}