Я использую Microsoft.Office.Interop.Outlook в своем коде C # для чтения почты из файла PST, и у меня возникает проблема при попытке получить адрес электронной почты отправителя.
Я пробовал приведенный ниже код иЯ получаю письмо от пользователя, который находится в организации, но не может получить письмо от пользователей, которые покинули организацию или не активны в AD.
string SenderEmailAddress = "";
try
{
AddressEntry sender = mail.Sender;
if (sender.AddressEntryUserType == OlAddressEntryUserType.olExchangeUserAddressEntry || sender.AddressEntryUserType == OlAddressEntryUserType.olExchangeRemoteUserAddressEntry)
{
ExchangeUser exchUser = sender.GetExchangeUser();
if (exchUser != null)
{
SenderEmailAddress = exchUser.PrimarySmtpAddress;
}
}
else
{
SenderEmailAddress = mail.SenderEmailAddress;
}
}
catch (System.Exception ex)
{
log.Log("Error Occured at getSenderEmailAddress() :: for " + mail.Sender + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace);
}
return SenderEmailAddress;