Outlook 加载项 Application.ItemSend 不是 运行
Outlook Add-In Application.ItemSend not Running
我正在开发一个在发送电子邮件时 运行s 的加载项。如果消息包含特定文本,它会取消发送消息并将其移至草稿中。这在直接从 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
另一个程序是什么?如果邮件是使用扩展 MAPI 发送的,Application.ItemSend
将不会触发。
我正在开发一个在发送电子邮件时 运行s 的加载项。如果消息包含特定文本,它会取消发送消息并将其移至草稿中。这在直接从 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
另一个程序是什么?如果邮件是使用扩展 MAPI 发送的,Application.ItemSend
将不会触发。