【问题标题】:Get number of attachments of a sent email获取已发送邮件的附件数量
【发布时间】:2014-01-10 00:48:44
【问题描述】:

我正在尝试获取电子邮件发送时的附件数量(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->Count 行遇到异常(访问冲突)。我认为邮件项指针为空。我做错了什么?

【问题讨论】:

  • 添加健全性检查肯定是个好举措;喜欢mi=pOutboxItems->GetLast(); assert(mi);

标签: c++ outlook


【解决方案1】:

您为什么要检索发件箱中的最后一个项目,这根本不能保证是正在发送的项目,而且您很可能会返回 null,因为在 Application.ItemSend 事件时发件箱文件夹中还没有消息着火了?

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

【讨论】:

    猜你喜欢
    • 2018-06-07
    • 2012-12-23
    • 2014-10-20
    • 1970-01-01
    • 2017-07-06
    • 2016-06-05
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    相关资源
    最近更新 更多