C#如何在Outlook插件中获取代表发送的电子邮件地址

6

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

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;
        }
    }
}

1

1
如果您正在使用Outlook 2007,您可以使用 MailItem.PropertyAccessor并获取PR_SENDER_EMAIL_ADDRESS MAPI属性。
马库斯

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接