C # Как получить адрес электронной почты для отправки имени в надстройке Outlook - PullRequest
6 голосов
/ 11 февраля 2010

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

Ответы [ 3 ]

6 голосов
/ 13 февраля 2010
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 голос
/ 12 февраля 2010

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

Марк

1 голос
/ 11 февраля 2010

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

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

...