C # Как получить отправленный от имени адрес электронной почты в надстройке Outlook
-
19-09-2019 - |
Вопрос
Я пытаюсь получить адрес электронной почты отправителя из письма, которое отправляется с использованием другого адреса электронной почты.Отправитель, как показано в Outlook, указан ditribution-lists@domain.com от имени пользователя [user.name@domain.com].Тот Самый MAPI
объект имеет метод SentOnBehalfOfName
это возвращает "Имя пользователя", но не адрес электронной почты.Кто-нибудь знает, как получить user.name@domain.com поле?
Решение
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;
}
}
}
Другие советы
Есть ли у вас http://www.dimastr.com/outspy/ ?Это полезный инструмент для детализации объектов MAPI в Outlook.
Кроме того, если вы используете http://www.dimastr.com/redemption/ вы можете получить доступ к свойству SentOnBehalfOfEmailAddress в объекте IRDOMail.
Если вы используете Outlook 2007, у вас есть Почтовый элемент.PropertyAccessor и вы можете получить свойство mapi PR_SENDER_EMAIL_ADDRESS.
Маркус