C # Como llegar el envío de la dirección de correo electrónico en nombre de complementos de Outlook

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

Pregunta

Estoy tratando de obtener la dirección de correo electrónico del remitente del correo electrónico que se envíe con otra dirección de correo electrónico. El remitente como muestra en perspectiva es ditribution-lists@domain.com en nombre de Nombre de Usuario [user.name@domain.com]. El objeto tiene una MAPI SentOnBehalfOfName método que devuelve "Nombre de Usuario", pero no la dirección de correo electrónico. ¿Alguien sabe cómo recibir campo user.name@domain.com?

¿Fue útil?

Solución

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

Otros consejos

¿Tiene http://www.dimastr.com/outspy/ ? Es una herramienta útil para la perforación hacia abajo en objetos MAPI en Outlook.

Además, si se utiliza http://www.dimastr.com/redemption/ se se puede conseguir en una propiedad en el objeto SentOnBehalfOfEmailAddress IRDOMail.

Si está utilizando Outlook 2007 que tiene la MailItem.PropertyAccessor y se puede obtener la propiedad PR_SENDER_EMAIL_ADDRESS MAPI.

Marcus

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top