我正在为Outlook 2007编写一个加载项。除非我以HTML格式发送电子邮件,Outlook将其转换为RTF,否则一切正常。因此,如果收件人打开它,例如。 Thunderbird他得到了一个看起来很难看的短信,而不是我发送的格式很好的html。
Outlook.MailItem theMail = (Outlook.MailItem)((Outlook.Application)Globals.ThisAddIn.Application).CreateItem(Outlook.OlItemType.olMailItem);
Outlook.Recipient rcp = theMail.Recipients.Add("joe blow <joe@blow.com>");
rcp.Type = (int)Outlook.OlMailRecipientType.olTo;
theMail.HTMLBody = <html composed elsewhere>
theMail.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
我如何说服Outlook我确实想要HTML?
EDIT 好的 - 我在这里发现了问题at MSDN我正在添加用户属性
Outlook.UserProperty prop = theMail.UserProperties.Add("theQuoteId", Outlook.OlUserPropertyType.olText);
prop.Value = quote.qid.ToString();
根据该文章,该属性无法映射到mime标头,Outlook将其引入RTF。
所以我的下一个问题是弄清楚如何在邮件中添加唯一标记,以便稍后将其链接到数据库。有什么想法吗?
答案 0 :(得分:1)
几年前我遇到了这个问题。最后,我们使用Outlook热修复修复它,而不是代码更改。
答案 1 :(得分:1)
您是否在邮件上设置了任何用户属性?
如果您使用OutlookSpy查看已发送邮件文件夹中的Outlook邮件(单击IMessage按钮),您是否看到UseTnef命名属性(DASL名称http://schemas.microsoft.com/mapi/id/ {00062008-0000-0000-C000 -000000000046} / 8582000B)?