【发布时间】:2016-09-28 18:13:46
【问题描述】:
我有一个 Outlook 加载项,它在发送 MailItem 之前将 UserProperty 分配给它:
Outlook.UserProperty prop = mail.UserProperties.Add("XXXX", Outlook.OlUserPropertyType.olText);
prop.Value = "YYYY";
众所周知(例如,参见Stop Outlook from converting HTML to RTF),这样做会导致使用 TNEF(即 RTF 格式,可怕的 winmail.dat)发送电子邮件。
我的问题是,简单地取消设置 TNEF 属性是否安全?以下代码将执行此操作:
mail.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/8582000B", false);
这里的问题是我必须在 ItemSend 上执行此操作 - 我无法在设置属性后立即执行此操作,因为此时它始终是 false。当我点击发送时,它只会变成true。
我不介意取消设置 TNEF 属性将意味着该属性不会随电子邮件一起发送。我更担心可能存在实际需要 TNEF 的其他情况,并且此代码会破坏它们。
或者,有没有更好的方法在发送电子邮件之前用自定义 ID 号“标记”电子邮件?
【问题讨论】:
标签: c# outlook vsto outlook-addin