Ich arbeite an einem Add-In, das ausgeführt wird, wenn eine E-Mail gesendet wird. Wenn die Nachricht einen bestimmten Text enthält, wird das Senden der Nachricht abgebrochen und in Entwürfe verschoben. Dies funktioniert beim Senden von E-Mails direkt aus Outlook, aber es wird nicht ausgeführt, wenn die E-Mail von einem anderen Programm erstellt und über Outlook gesendet wird. In diesem Fall wird die E-Mail für einige Sekunden in den Postausgang verschoben und dann wie gewohnt gesendet.Outlook Add-In Application.ItemSend nicht ausgeführt
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
Das andere Programm ist Gebots-Software, die wir einfach gehen. Ich bin nicht sicher, wie es die E-Mail sendet, außer dass es Outlook durchläuft. – Fercstar
Sehen Sie, dass das Ereignis in OutlookSpy ausgelöst wird (klicken Sie auf Anwendung, wechseln Sie zur Registerkarte Ereignisse, sehen Sie sich das Protokoll am unteren Rand des Fensters an)? –
Das einzige Ereignis, das ausgelöst wurde, war, als ich die E-Mail erhielt (ich schickte es mir selbst). Nichts ist passiert, als es gesendet hat. – Fercstar