C # Como llegar el envío de la dirección de correo electrónico en nombre de complementos de Outlook
-
19-09-2019 - |
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?
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