Outlook надстройка для добавления текста в тело письма - PullRequest
1 голос
/ 13 декабря 2011

Я создал небольшую надстройку 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();
     }
  }
}

1 Ответ

2 голосов
/ 13 декабря 2011

Я на самом деле нашел ответ на этот вопрос самостоятельно и опубликую его ниже для тех, кто нуждается в нем в будущем.Я использовал ЭТОТ ответ в качестве руководства.

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
   {}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...