gpt4 book ai didi

c++ - 使用 MAPISendMail 填写目标电子邮件字段

转载 作者:行者123 更新时间:2023-11-28 06:34:42 25 4
gpt4 key购买 nike

我正在我的应用程序中实现“打印和电子邮件”功能,我使用 MAPISendMail 启动默认电子邮件客户端, 带有预先选择的文件附件。我也希望能够自动填写“收件人”字段,但我在 MapiMessage 中找不到相应的选项。结构。有主题、正文、附件选项,但“收件人”字段没有。

有什么方法可以使用 MAPISendMail 填写“收件人”字段吗? ?

enter image description here

最佳答案

我找到了答案,MapiMessage 结构中有一个收件人字段。这是我在 http://www.experts-exchange.com/Programming/Microsoft_Development/A_1820-Sending-Email-with-MAPI.html 找到的一些示例代码这说明了如何填写收件人字段:

BOOL SendMail(LPCSTR lpszSubject, LPCSTR lpszTo, 
LPCSTR lpszName, LPCSTR lpszText)
{
HINSTANCE hMAPI = ::LoadLibrary(L"mapi32.dll");
LPMAPISENDMAIL lpfnMAPISendMail =
(LPMAPISENDMAIL)::GetProcAddress(hMAPI, "MAPISendMail");

char szTo[MAX_PATH] = { 0 };
strcat_s(szTo, lpszTo);

char szName[MAX_PATH] = { 0 };
strcat_s(szName, lpszName);

MapiRecipDesc recipient[1] = { 0 };
recipient[0].ulRecipClass = MAPI_TO;
recipient[0].lpszAddress = szTo;
recipient[0].lpszName = szName;

char szSubject[MAX_PATH] = { 0 };
strcat_s(szSubject, lpszSubject);

char szText[MAX_PATH] = { 0 };
strcat_s(szText, lpszText);

MapiMessage MAPImsg = { 0 };
MAPImsg.lpszSubject = szSubject;
MAPImsg.lpRecips = recipient;
MAPImsg.nRecipCount = 1;
MAPImsg.lpszNoteText = szText;

ULONG nSent = lpfnMAPISendMail(0, 0,
&MAPImsg, MAPI_LOGON_UI | MAPI_DIALOG, 0);

FreeLibrary(hMAPI);
return (nSent == SUCCESS_SUCCESS || nSent == MAPI_E_USER_ABORT);
}

关于c++ - 使用 MAPISendMail 填写目标电子邮件字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26935519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com