2

我正在检索,这个 mailItem 处于撰写模式,但是当我检查 mailItem.SenderEmailAddress 时,它是 NULL,但所有其他属性都有值(例如:- body, body format, to, .... )。如何从 MAIL-ITEM IT-SELF 获取发件人电子邮件?

我正在使用带有 Addin express v.7.7.4087 的 Visual Studio 2013

这是代码:-

        Outlook.Inspector currentInspector = null;
        Outlook.MailItem mailItem = null;
        Outlook.Folder outboxFolder = null;
        Outlook.Recipients recipients = null;

        const string PR_SMTP_ADDRESS = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E";

        currentInspector = Globals.ObjOutlook.ActiveInspector();

        if (currentInspector != null)
            {

            if (currentInspector.CurrentItem is Outlook.MailItem)
            {
                mailItem = currentInspector.CurrentItem as Outlook.MailItem;
                mailItem.Save();
                string sender = mailItem.SenderEmailAddress; //This is null 
            }
        }

PS 我必须处理多个邮箱。所以,我无法使用命名空间获取当前用户地址。它总是返回我主要邮箱用户的地址。

请看以下屏幕截图 在此处输入图像描述

提前致谢。

贵霜兰迪玛

4

2 回答 2

4

您是否使用多个 Exchange 帐户进行发送?使用 MailItem.SendUsingAccount,然后阅读 Account.SmtpAddress。如果是“”,则使用 Account.CurrentUser.AddressEntry.GetExchangeUser.PrimarySmtpAddress。

如果 MailItem.SendUsingAccount == null,您可以假定默认帐户。

于 2015-08-13T16:47:15.537 回答
2

使用 Namespace 类的CurrentUser属性将当前登录的用户作为 Recipient 对象。Recipient 类的Address属性返回一个字符串,该字符串表示收件人的电子邮件地址。

于 2015-08-13T09:34:35.247 回答