【问题标题】:How, can get the exact sent Email from Sent Items folder?如何从“已发送邮件”文件夹中获取准确发送的电子邮件?
【发布时间】:2015-01-12 04:39:41
【问题描述】:

VSTO:Outlook 2007 插件项目。

我使用 Ribbon 控件中的自定义按钮发送了一个 sampleEmail。现在,如何从 Sent Items 文件夹中获取 sampleEmail?

我尝试使用条目 ID 属性。但这在发送电子邮件后没有有帮助。

新电子邮件的对话 ID 为空。

任何其他属性,通过它我可以准确地阅读我发送的电子邮件。

【问题讨论】:

  • 多一点信息会有所帮助 - 例如。你想怎么处理这封邮件 afterwoods?也许已经在 item.send-Event 中执行了这些操作?

标签: vsto outlook-addin outlook-2007


【解决方案1】:

您可以在使用 MailItem.UserProperties 或 ailItem.PorpertyAccesor 发送项目之前设置项目的命名属性,然后在“已发送项目”文件夹 (MAPIFolder.Items.Find) 中搜索该属性。

更新。 MAPIFolder.Items.Add 的查询将是

set item = MAPIFolder.Items.Find("@SQL=""http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/Spartan"" = 'test123' ")

【讨论】:

  • Outlook.UserProperties mailUserProperties = null; Outlook.UserProperty mailUserProperty = null;尝试 { mailUserProperties = mail.UserProperties; mailUserProperty = mailUserProperties.Add("Spartan", Outlook.OlUserPropertyType.olText); mailUserProperty.Value = "test123";邮件.发送(); windowsForm.show("test123"); //现在我需要使用该值[“test123”]在已发送项目中找到该电子邮件。请帮助我...@dmitry
  • 使用 MAPIFolder.Items.Find。如果用户属性已添加到文件夹字段,您可以在查询中使用其名称。否则使用 DAL 名称(带引号)。
【解决方案2】:

条目 ID 无济于事,因为它不是邮件存在的唯一 ID...当从一个文件夹移动到另一个文件夹时它会更改...在您的情况下,访问“已发送邮件”文件夹并访问会有所帮助通过检查邮件的其他一些属性(如主题、发件人等),通过索引 n 验证它与您发送的项目相同。

【讨论】:

    【解决方案3】:

    这就是我所做的。发送电子邮件后,在下一行代码中,我读取了最后发送的邮件并将条目 ID 存储在静态类变量中。我们可以通过 Sent Items 文件夹中的 Entry ID 找到该项目。

    【讨论】:

      猜你喜欢
      • 2013-06-26
      • 2011-03-13
      • 2014-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-02
      • 2014-10-20
      • 2018-07-15
      相关资源
      最近更新 更多