我正在开发一个捕获一些Outlook事件的应用程序。是否可以在发送电子邮件时检测事件。我不是说当用户点击“发送”按钮但是当电子邮件实际发送时,并且不再在发件箱中。提前谢谢。
的更新 的
我设法在已发送的邮件文件夹中捕获Items.ItemAdd
事件。为了检查添加到已发送项目文件夹的最后一封电子邮件是否是我感兴趣的,我试过这个:
STDMETHODIMP CItemsEventListener::HandleItemAdd(CString p_date, CString p_time)
{
CComPtr<Outlook::_Application> spApplication;
CComPtr<Outlook::_NameSpace> spSession;
CComPtr<Outlook::MAPIFolder> spSentMailsFolder;
CComPtr<Outlook::_Items> pSentboxItems;
spSentMailsFolder->get_Items(&pSentboxItems);
CComPtr<Outlook::_MailItem> pSentMail;
pSentMail = pSentboxItems->GetLast();
//do staff
return S_OK;
}`
我收到了编译错误:
error C2660: 'Outlook::_Items::GetLast' : the function doesn't take 0 arguments
我应该将哪个参数传递给函数?
答案 0 :(得分:1)
MailItem.Send和Application.ItemSend事件在实际发送消息之前发生。
要捕获实际发送邮件的时间,请使用“已发送邮件”文件夹中的Items.ItemAdd事件。