【问题标题】:Outlook MailItem UserProperties sharedOutlook MailItem 用户属性共享
【发布时间】:2014-09-17 22:12:47
【问题描述】:

如何在 Outlook.MailItem 上设置属性,该属性随后不与收件人共享?

示例代码:

Outlook.UserProperties mailUserProperties = null;
Outlook.UserProperty mailUserProperty = null;
try
{
    mailUserProperties = mail.UserProperties;
    mailUserProperty = mailUserProperties.Add("TestUserProperty", 
       Outlook.OlUserPropertyType.olText);
    mailUserProperty.Value = "test123";
    mail.Save();
}
catch
{
}
finally
{
    if (mailUserProperty != null) Marshal.ReleaseComObject(mailUserProperty);
    if (mailUserProperties != null) Marshal.ReleaseComObject(mailUserProperties);
}

然后,如果电子邮件已通过 Exchange 发送,则在收件人系统上获取其 TestUserProperty 仍会返回 test123,因此该属性与收件人共享。 SMTP 不会发生这种情况。

那么,有没有一种方法可以 (a) 创建一个不与接收者共享的用户属性,或者 (b) 以某种完全不同的方式将数据附加到未共享的 Outlook.MailItem

【问题讨论】:

    标签: c# outlook vsto outlook-addin


    【解决方案1】:

    消息发送时为什么不删除用户属性(Application.ItemSend)?

    【讨论】:

    • 谢谢德米特里。无法删除它,因为在“已发送邮件”文件夹中查看邮件时需要该属性作为“标志”。表面上我们可以在发送时取消设置标志,然后在它到达已发送项目时重新设置它,但我不确定这是否可以可靠地完成?
    • 您可以使用“已发送邮件”文件夹上的 Items.ItemAdd 事件来使用用户属性重新标记邮件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    相关资源
    最近更新 更多