2016-03-29 12 views
0

Bir e-posta gönderildiğinde çalışan bir eklenti üzerinde çalışıyorum. Mesaj belirli bir metin içeriyorsa, mesajın gönderilmesini iptal eder ve taslak haline getirir. Bu, doğrudan Outlook'tan e-posta gönderirken çalışır, ancak e-posta başka bir program tarafından oluşturulduğunda ve Outlook aracılığıyla gönderildiğinde çalışmaz. Bu durumda, e-posta birkaç saniye için Giden Kutusu'na gider ve sonra normal gibi gönderir.Outlook Add-In Application.ItemSend Çalışmıyor

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 

cevap

0

Diğer program nedir? Mesaj Genişletilmiş MAPI kullanılarak gönderilirse, Application.ItemSend patlamaz.

+0

Diğer program, daha yeni başlayacağımız bir teklif yazılımıdır. E-postayı Outlook'tan nasıl geçtiğinden başka nasıl gönderdiğinden emin değilim. – Fercstar

+0

OutlookSpy'de bu olayı görüyor musunuz (Uygulama'yı tıklatın, Olaylar sekmesine gidin, pencerenin altındaki günlüğe bakın)? –

+0

İşten çıkarılan tek olay e-postayı aldığımda oldu (kendime gönderdim). Gönderildiğinde hiçbir şey olmadı. – Fercstar