【发布时间】:2019-01-28 05:38:43
【问题描述】:
我在我的 C# 代码中使用 Microsoft.Office.Interop.Outlook 从 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;
【问题讨论】:
标签: c# outlook interop office-interop