2011-12-12 150 views
1

如果郵件主題包含某個字符串,我已經創建了一個小型Outlook插件,用於將鏈接添加到電子郵件正文中。目前,只有在打開郵件(雙擊)時纔會添加鏈接。有沒有一種方法可以在用戶不打開郵件的情況下添加鏈接?或者我不可能要求什麼?如果是這樣,爲什麼?將郵件添加到郵件正文的Outlook插件

void inspectors_NewInspector(Inspector Inspector) 
{ 
    Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem; 
    if (mailItem != null) 
    { 
    if (mailItem.Subject.StartsWith("ABCDE")) 
    { 
     mailItem.BodyFormat = OlBodyFormat.olFormatHTML; 
     mailItem.HTMLBody = "<html><body>Click <a href='www.google.com'>here</a>.<br><br></body></html>" + mailItem.HTMLBody; 
     mailItem.Save(); 
    } 
    } 
} 

回答

2

我實際上是自己找到了這個答案,並將在下面發佈給任何需要它的人。我用THIS答案作爲指導。

private void ThisAddIn_Startup(object sender, System.EventArgs e) 
{ 
    this.Application.NewMailEx += new Outlook.ApplicationEvents_11_NewMailExEventHandler(olApp_NewMail); 
} 

private void olApp_NewMail(String entryIDCollection) 
{ 
    Outlook.NameSpace outlookNS = this.Application.GetNamespace("MAPI"); 
    Outlook.MAPIFolder mFolder = this.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox); 
    Outlook.MailItem mail; 

    try 
    { 
     mail = (Outlook.MailItem)outlookNS.GetItemFromID(entryIDCollection, Type.Missing); 
     if (mailItem.Subject.StartsWith("ABCDE")) 
     { 
     mailItem.BodyFormat = OlBodyFormat.olFormatHTML; 
     mailItem.HTMLBody = "<html><body>Click <a href='www.google.com'>here</a>.<br><br></body></html>" + mailItem.HTMLBody; 
     mailItem.Save(); 
     } 
    } 
    catch 
    {} 
}