我正在处理发送电子邮件时运行的加载项。如果邮件包含特定文本,则会取消发送邮件并将其移至草稿中。这在直接从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
答案 0 :(得分:0)
其他节目是什么?如果使用扩展MAPI发送消息,则Application.ItemSend
将不会触发。