C # Como obter o envio de endereço nome e-mail no Outlook add-in
-
19-09-2019 - |
Pergunta
Eu estou tentando obter o endereço do remetente e-mail do e-mail que está a enviar usando outro endereço de e-mail.
O remetente como mostra em perspectiva é ditribution-lists@domain.com em nome do usuário Nome [user.name@domain.com].
O objeto MAPI
tem um método SentOnBehalfOfName
que retorna "Nome de Usuário", mas não o endereço de e-mail.
Alguém sabe como receber user.name@domain.com campo?
Solução
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;
}
}
}
Outras dicas
Você tem http://www.dimastr.com/outspy/ ? É uma ferramenta útil para a perfuração para baixo em objetos MAPI no Outlook.
Além disso, se você usar http://www.dimastr.com/redemption/ você pode chegar a uma propriedade SentOnBehalfOfEmailAddress no objeto IRDOMail.
Se você estiver usando o Outlook 2007 você tem a MailItem.PropertyAccessor e você pode obter a propriedade PR_SENDER_EMAIL_ADDRESS mapi.
Marcus