如何从已发邮件文件夹中获取准确发送的邮件?

How, can get the exact sent Email from Sent Items folder?

VSTO:Outlook 2007 加载项项目。

我已经使用功能区控件中的自定义按钮发送了示例电子邮件。现在,如何从已发送邮件文件夹中获取示例电子邮件?

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

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

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

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

您可以在使用 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' ")

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