我试图通过C#代码获取Outlook邮箱的发件人电子邮件地址。我尝试了this link,但在senderEmail = objAddressentry.GetExchangeUser().PrimarySmtpAddress
行中收到“对象引用未设置为对象的实例”。我的代码如下:
Outlook.Application oApp = new Outlook.Application();
Outlook.NameSpace oNS = oApp.GetNamespace("mapi");
Outlook.MailItem olMail = new Outlook.MailItem();
if (olMail.SenderEmailType == "EX")
{
var objReply = olMail.Reply();
var objRecipient = objReply.Recipients[1];
var strEntryId = objRecipient.EntryID;
var objAddressentry = oNS.GetAddressEntryFromID(strEntryId);
string senderEmail = objAddressentry.GetExchangeUser().PrimarySmtpAddress;
}
我将不胜感激。
如果有帮助,我遇到了this link,但是我的AddressEntryUserType
却是olExchangeDistributionListAddressEntry
,这就是为什么该控件没有进入If分支的原因。
答案 0 :(得分:0)
如前所述,我的代码是正确的。当objAddressentry.GetExchangeUser()
的{{1}}是AddressEntryUserType
类型时,它将为Sender
引发“对象引用未设置为对象的实例”。修改后的代码如下:
olExchangeDistributionListAddressEntry