C # Как получить отправленный от имени адрес электронной почты в надстройке Outlook

StackOverflow https://stackoverflow.com/questions/2244118

Вопрос

Я пытаюсь получить адрес электронной почты отправителя из письма, которое отправляется с использованием другого адреса электронной почты.Отправитель, как показано в Outlook, указан ditribution-lists@domain.com от имени пользователя [user.name@domain.com].Тот Самый MAPI объект имеет метод SentOnBehalfOfName это возвращает "Имя пользователя", но не адрес электронной почты.Кто-нибудь знает, как получить user.name@domain.com поле?

Это было полезно?

Решение

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

Другие советы

Есть ли у вас http://www.dimastr.com/outspy/ ?Это полезный инструмент для детализации объектов MAPI в Outlook.

Кроме того, если вы используете http://www.dimastr.com/redemption/ вы можете получить доступ к свойству SentOnBehalfOfEmailAddress в объекте IRDOMail.

Если вы используете Outlook 2007, у вас есть Почтовый элемент.PropertyAccessor и вы можете получить свойство mapi PR_SENDER_EMAIL_ADDRESS.

Маркус

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top