获取已发送电子邮件的附件数量

时间:2014-01-09 15:02:13

标签: c++ outlook

我正在尝试获取电子邮件发送时的附件数量(Application.Send事件),这是我正在使用的代码。

_ApplicationPtr pApp("Outlook.Application");
_NameSpacePtr pNameSpace;
MAPIFolderPtr pOutbox;
_ItemsPtr pOutboxItems;
_MailItemPtr mi;
pNameSpace = pApp->GetNamespace(L"MAPI");
pOutbox = pNameSpace->GetDefaultFolder(olFolderOutbox);
pOutboxItems = pOutbox->Items;
mi=pOutboxItems->GetLast();
long att_Sent=mi->GetAttachments()->Count;//Exception here
mi->Delete();   

我总是在mi-> GetAttachments->计数行(访问冲突)中遇到异常。我认为邮件项指针为空。我做错了什么?

1 个答案:

答案 0 :(得分:1)

为什么要检索发件箱中的最后一项,这完全不能保证是发送的那一项,并且很可能您将返回null,因为当Application.ItemSend事件时,发件箱文件夹中还没有消息火灾?

Application.ItemSend事件将该项作为参数传递,为什么不使用它?