C# 在发送前使用ID号标记Outlook邮件项目,而不会导致TNEF(RTF)发送
我有一个Outlook加载项,它在发送邮件之前为邮件项分配UserProperty:C# 在发送前使用ID号标记Outlook邮件项目,而不会导致TNEF(RTF)发送,c#,outlook,vsto,outlook-addin,C#,Outlook,Vsto,Outlook Addin,我有一个Outlook加载项,它在发送邮件之前为邮件项分配UserProperty: Outlook.UserProperty prop = mail.UserProperties.Add("XXXX", Outlook.OlUserPropertyType.olText); prop.Value = "YYYY"; 众所周知(参见示例),这样做会导致使用TNEF(即RTF格式,可怕的winmail.dat)发送电子邮件 我的问题是,简单地取消设置TNEF属性是否安全?以下代码将执行此操作:
Outlook.UserProperty prop = mail.UserProperties.Add("XXXX", Outlook.OlUserPropertyType.olText);
prop.Value = "YYYY";
众所周知(参见示例),这样做会导致使用TNEF(即RTF格式,可怕的winmail.dat)发送电子邮件
我的问题是,简单地取消设置TNEF属性是否安全?以下代码将执行此操作:
mail.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/8582000B", false);
这里的问题是,我必须在ItemSend
上执行此操作-我无法在设置属性后立即执行此操作,因为此时它始终是false
。只有当我点击Send时,它才会变成true
我不介意取消设置TNEF属性意味着该属性不会与电子邮件一起发送。我更担心的是,在其他情况下,可能实际上需要TNEF,而此代码会破坏它们
或者,是否有更好的方法在发送电子邮件之前使用自定义ID号“标记”电子邮件?阻止winmail.dat发送没有任何奇怪之处。您可以继续在ItemSend事件中取消设置TNEF属性 请注意,Outlook使用对话跟踪相关邮件。您可以使用对话*(*ID+*索引)相关属性来识别收件箱中的电子邮件
有关更多信息,请参阅。阻止winmail.dat发送没有任何奇怪之处。您可以继续在ItemSend事件中取消设置TNEF属性 请注意,Outlook使用对话跟踪相关邮件。您可以使用对话*(*ID+*索引)相关属性来识别收件箱中的电子邮件
有关详细信息,请参阅。不要使用UserProperties集合标记消息-它会使用用户属性的定义和存储用户属性值的命名属性更新blob。 如果使用MailItem.PropertyAccessor.SetProperty设置后者而不设置前者,Outlook将不会强制使用TNEF格式
除非以RTF格式发送,否则可以安全地将UseTRef属性设置为false-在将其重置为false之前检查该属性是否设置为true。不要使用UserProperties集合标记消息-它使用用户属性的定义和存储用户属性值的命名属性更新blob。 如果使用MailItem.PropertyAccessor.SetProperty设置后者而不设置前者,Outlook将不会强制使用TNEF格式 除非以RTF格式发送,否则可以安全地将UseTnef属性设置为false-在将其重置为false之前检查该属性是否设置为true