Outlook加载项Application.ItemSend未运行

时间:2016-03-29 15:38:16

标签: vb.net vsto outlook-addin

我正在处理发送电子邮件时运行的加载项。如果邮件包含特定文本,则会取消发送邮件并将其移至草稿中。这在直接从Outlook发送电子邮件时有效,但当电子邮件由其他程序生成并通过Outlook发送时,它不会运行。在这种情况下,电子邮件会在发件箱中停留几秒钟,然后像往常一样发送。

Private Sub OnItemSend(Item As System.Object, ByRef Cancel As Boolean) _
                   Handles Application.ItemSend


    Dim mail As Outlook.MailItem = TryCast(Item, Outlook.MailItem)
    Dim myNameSpace As Outlook.NameSpace
    Dim myDestFolder As Outlook.Folder
    Dim mydrafts As Outlook.Folder
    myNameSpace = Application.GetNamespace("MAPI")
    mydrafts = myNameSpace.GetDefaultFolder(OlDefaultFolders.olFolderDrafts)
    myDestFolder = mydrafts
    If InStr(mail.Body, "Message") = 1 Then

        Cancel = True
        mail.Move(myDestFolder)



    End If


End Sub

1 个答案:

答案 0 :(得分:0)

其他节目是什么?如果使用扩展MAPI发送消息,则Application.ItemSend将不会触发。