6

我正在尝试从使用另一个电子邮件地址发送的电子邮件中获取发件人电子邮件地址。Outlook 中显示的发件人是 ditribution-lists@domain.com 代表用户名 [user.name@domain.com]。该MAPI对象有一个SentOnBehalfOfName返回“用户名”但不返回电子邮件地址的方法。有谁知道如何接收 user.name@domain.com 字段?

4

3 回答 3

6
using System;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.Reflection;

namespace Helpers
{
    internal class EmailHelper
    {
        public static string GetSenderEmailAddress(Microsoft.Office.Interop.Outlook.MailItem mapiObject)
        {
            Microsoft.Office.Interop.Outlook.PropertyAccessor oPA;
            string propName = "http://schemas.microsoft.com/mapi/proptag/0x0065001F";
            oPA = mapiObject.PropertyAccessor;
            string email = oPA.GetProperty(propName).ToString();
            return email;
        }
    }
}
于 2010-02-13T18:35:16.473 回答
1

你有http://www.dimastr.com/outspy/吗?它是深入了解 Outlook 中的 MAPI 对象的有用工具。

此外,如果您使用http://www.dimastr.com/redemption/,您可以获得 IRDOMail 对象上的 SentOnBehalfOfEmailAddress 属性。

于 2010-02-11T14:43:14.720 回答
1

如果您使用的是 Outlook 2007,则您拥有MailItem.PropertyAccessor并且可以获得 PR_SENDER_EMAIL_ADDRESS mapi 属性。

马库斯

于 2010-02-11T22:45:52.073 回答