我使用MailItem.SendUsingAccount
获取发件人地址。但是当我尝试发送草稿邮件时,SendUsingAccount
变为空,而SenderEmailAddress
仍然有价值(但不是电子邮件地址,它的Exchange属性)。
为什么SendUsingAccount
为空?是否有其他方法可以获取发件人的电子邮件地址?
答案 0 :(得分:6)
如果未明确设置属性,则SendUsingAccount可以为null。在这种情况下,您可以回退到Application.Session.CurrentUser。
答案 1 :(得分:1)
如果为MailItem指定的帐户不再存在,则根据Microsoft文档MailItem.SendUsingAccount“属性返回Null(在Visual Basic中为Nothing)。” (source)。这可能是您遇到的问题,因为您正在创建一个尚未设置sendUsingAccount属性的草稿。
我一直能够获取发件人电子邮件地址的方式是使用C#中的以下代码:
Outlook.ExchangeUser exchUser = sender.GetExchangeUser();
if (exchUser != null)
{
string SenderEmailAddress = exchUser.PrimarySmtpAddress;
}
我希望这有所帮助,如果你需要更多信息我可以一直评论,我可以修改答案:)