Domanda

Sto cercando di ottenere l'indirizzo del mittente e-mail da e-mail che è inviare utilizzando un altro indirizzo email. Il mittente, come mostra in prospettiva è ditribution-lists@domain.com a nome di User Name [user.name@domain.com]. L'oggetto MAPI ha un metodo SentOnBehalfOfName che restituisce "Nome utente", ma non l'indirizzo e-mail. Qualcuno sa come ricevere campo user.name@domain.com?

È stato utile?

Soluzione

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

Altri suggerimenti

Avete http://www.dimastr.com/outspy/ ? Si tratta di uno strumento utile per il drill-down in oggetti MAPI in Outlook.

Inoltre, se si utilizza http://www.dimastr.com/redemption/ voi può ottenere in una proprietà SentOnBehalfOfEmailAddress sull'oggetto IRDOMail.

Se si utilizza Outlook 2007 si ha la MailItem.PropertyAccessor e si può ottenere la proprietà PR_SENDER_EMAIL_ADDRESS MAPI.

Marcus

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top