C # Come ottenere l'invio di indirizzo di posta elettronica per conto di Outlook Add-in
-
19-09-2019 - |
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?
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