Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在outlook中捕获已发送电子邮件的事件_C#_Events_Outlook_Outlook Addin - Fatal编程技术网

C# 在outlook中捕获已发送电子邮件的事件

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

我正在为Outlook和 我正在尝试捕获从outlook发送的邮件事件。 在thw网站上,我找到了很多发送电子邮件的例子,但我需要知道发送电子邮件的事件。 是否有一个方法或过程来钩住这个特定事件?
谢谢

如果发送邮件,则有一个包含布尔值的变量。 您可以发送邮件并检查该布尔值

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更新而改变。