C # Comment obtenir l'envoi de l'adresse e-mail de compte dans Outlook add-in
-
19-09-2019 - |
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?
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