C# 在outlook中捕获已发送电子邮件的事件
我正在为Outlook和 我正在尝试捕获从outlook发送的邮件事件。 在thw网站上,我找到了很多发送电子邮件的例子,但我需要知道发送电子邮件的事件。 是否有一个方法或过程来钩住这个特定事件?C# 在outlook中捕获已发送电子邮件的事件,c#,events,outlook,outlook-addin,C#,Events,Outlook,Outlook Addin,我正在为Outlook和 我正在尝试捕获从outlook发送的邮件事件。 在thw网站上,我找到了很多发送电子邮件的例子,但我需要知道发送电子邮件的事件。 是否有一个方法或过程来钩住这个特定事件? 谢谢如果发送邮件,则有一个包含布尔值的变量。 您可以发送邮件并检查该布尔值 mailItem.Send(); if (mailItem.Sent) { // Do your thing } 如果发送邮件,则有一个包含布尔值的变量。 您可以发送邮件并检查该布尔值 mailItem.S
谢谢如果发送邮件,则有一个包含布尔值的变量。 您可以发送邮件并检查该布尔值
mailItem.Send();
if (mailItem.Sent)
{
// Do your thing
}
如果发送邮件,则有一个包含布尔值的变量。 您可以发送邮件并检查该布尔值
mailItem.Send();
if (mailItem.Sent)
{
// Do your thing
}
我想出了一个简单可爱的解决办法,不使用外接程序 显示给用户后,只需检查MailItem.Sent值,如果该值为false,则表示您知道电子邮件已关闭而未发送,如果该值为空,则表示您收到错误“项目已删除或删除”,这意味着电子邮件已发送,这就是对象消失的原因 试试看
MailItem.Display(True)
Try
Dim sent As Boolean = MailItem.sent
'msg was closed without sending
Catch ex As Exception
'msg was sent
End Try
我想出了一个简单可爱的解决办法,不使用外接程序 显示给用户后,只需检查MailItem.Sent值,如果该值为false,则表示您知道电子邮件已关闭而未发送,如果该值为空,则表示您收到错误“项目已删除或删除”,这意味着电子邮件已发送,这就是对象消失的原因 试试看
MailItem.Display(True)
Try
Dim sent As Boolean = MailItem.sent
'msg was closed without sending
Catch ex As Exception
'msg was sent
End Try
使用
Application.ItemSend
事件。使用Application.ItemSend
事件。谢谢您的回答。我的目标是参加发送电子邮件的活动,但我无法达到,因为我不知道怎么做。有一种检查/测试可以有效地尝试我做正确的事情?谢谢你的回答。我的目标是参加发送电子邮件的活动,但我无法达到,因为我不知道怎么做。有一种检查/测试可以有效地尝试我做正确的事情?这是行不通的-消息提交是一个异步过程。邮件将被发送并移动到“已发送邮件”文件夹的时间要晚得多(几秒钟甚至几分钟)。对于我来说,这很好,当用户关闭邮件而不发送时,我仍然拥有该对象,并且MailItem.sent值为false-但如果用户单击“发送”,则,然后我松开了对象,MailItem.sent不再存在该属性存在得很好-它只是引发了一个异常,因为您不允许对提交的邮件执行任何操作。您所依赖的行为可能随任何Outlook更新而改变。这将不起作用-邮件提交是一个异步过程。邮件将被发送并移动到“已发送邮件”文件夹的时间要晚得多(几秒钟甚至几分钟)。对于我来说,这很好,当用户关闭邮件而不发送时,我仍然拥有该对象,并且MailItem.sent值为false-但如果用户单击“发送”,则,然后我松开了对象,MailItem.sent不再存在该属性存在得很好-它只是引发了一个异常,因为您不允许对提交的邮件执行任何操作。您所依赖的行为可以随任何Outlook更新而改变。