如何使用VC ++中的Atl / Com项目通过outlook添加ins,将选定的收件箱邮件作为附件发送
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用VC ++中的Atl / Com项目通过outlook添加ins,将选定的收件箱邮件作为附件发送相关的知识,希望对你有一定的参考价值。
以下是我的代码:
_ApplicationPtr pApp(Application);
_MailItemPtr pNewMailItem;
pApp->CreateItem(olMailItem,(IDispatch**)&pNewMailItem);
pNewMailItem->put_BCC(L"mailid1");
pNewMailItem->put_Body(L"Mail Send from Visual C++/ATL");
pNewMailItem->put_To(L"mailid2");
pNewMailItem->Send();
我可以发送新邮件但无法获取如何附加所选收件箱邮件。
请向我建议一些进一步的进展。
答案
要附加电子邮件,您需要访问与Attachments
对象关联的MailItem
object的句柄,并通过调用Attachments::Add
附加您的文件。
这是一个最小的工作示例。我没有测试过这个特定的代码,所以考虑一种伪代码:
_ApplicationPtr pApp(Application);
_MailItemPtr pNewMailItem;
pApp->CreateItem(olMailItem,(IDispatch**)&pNewMailItem);
Outlook::AttachmentsPtr pAttachments;
pNewMailItem->get_Attachments(&pAttachments);
// you need to specify your own values for these parameters
ATL::CComVariant filePath(someFilePath);
ATL::CComVariant displayName("some name");
ATL::CComVariant type(Outlook::olByValue); // to attach a copy
ATL::CComVariant position(1); // add as 1st attachment
Outlook::AttachmentPtr pAttachment;
pAttachments->Add(filePath, displayName, type, position, &pAttachment);
以上是关于如何使用VC ++中的Atl / Com项目通过outlook添加ins,将选定的收件箱邮件作为附件发送的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 MS 数据库(ASP.NET Core MVC)通过表格显示信息?