【问题标题】:Outlook Add-on to Add Text to Mail Body用于将文本添加到邮件正文的 Outlook 加载项
【发布时间】:2012-01-18 20:43:25
【问题描述】:

如果电子邮件主题包含特定字符串,我已经创建了一个小型 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();
     }
  }
}

【问题讨论】:

    标签: c# outlook-addin


    【解决方案1】:

    我实际上是自己找到了答案,并将在下面发布给将来需要它的任何人。我以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
       {}
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-13
      • 2019-08-23
      • 2016-09-23
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      相关资源
      最近更新 更多