如果电子邮件主题包含某个字符串,我已经创建了一个小的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();
}
}
}
答案 0 :(得分: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
{}
}