MAPISendMail丢失空间

时间:2018-02-23 01:30:10

标签: c++ windows mapi

我的应用程序正在使用MAPISendMail发送电子邮件。电子邮件使用空格格式化。例如:

Date Sent        12/4/2018

然而,当电子邮件在Thunderbird(我的默认电子邮件应用程序)中弹出时,空间全部消失了。看起来它正在将消息解释为HTML。

如果我将Outlook设为默认电子邮件包,则不会发生这种情况。我可以从应用程序端(C ++,Windows,MAPI)做些什么来说服Thunderbird单独留下消息?关于消息参数的含义,文档似乎有点模糊。

从根本上说,发送的功能看起来像这样(在哪里,主题和正文都填充并传入了字符串):

MapiRecipDesc   rec;
MapiMessage     msg;
bool            sent = false;
LHANDLE         session = 0;

memset(&msg, 0, sizeof(MapiMessage));
memset(&rec, 0, sizeof(MapiRecipDesc));

rec.ulRecipClass = MAPI_TO;
rec.lpszName = (LPSTR)to;

msg.lpszSubject = (LPSTR)subject;
msg.lpszNoteText = (LPSTR)body;
msg.nRecipCount = (to != 0) ? 1 : 0;
msg.lpRecips = &rec;

ULONG e = MAPISendMail(session, (ULONG_PTR)hWnd, &msg, MAPI_LOGON_UI|MAPI_DIALOG, 0);

0 个答案:

没有答案