Question

Je suis en train d'obtenir l'adresse e-mail de l'expéditeur de courrier électronique qui est envoyé en utilisant une autre adresse e-mail. L'expéditeur comme le montre en perspective est ditribution-lists@domain.com au nom du nom de l'utilisateur [user.name@domain.com]. L'objet MAPI a une SentOnBehalfOfName méthode qui retourne « Nom d'utilisateur », mais pas l'adresse e-mail. Est-ce que quelqu'un sait comment recevoir champ user.name@domain.com?

Était-ce utile?

La solution

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

Autres conseils

Avez-vous http://www.dimastr.com/outspy/ ? Il est un outil utile pour le perçage vers le bas en objets MAPI dans Outlook.

En outre, si vous utilisez http://www.dimastr.com/redemption/ peut obtenir une propriété à SentOnBehalfOfEmailAddress sur l'objet IRDOMail.

Si vous utilisez 2007 Outlook vous avez le MailItem.PropertyAccessor et vous pouvez obtenir la propriété PR_SENDER_EMAIL_ADDRESS mapi.

Marcus

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top