防止MailItem.Reply在Outlook 2010中打开Inspector窗口?

时间:2012-09-29 20:22:07

标签: c# outlook-addin outlook-2010

我正在为Outlook构建一个共享插件。

在代码中,我使用MailItem.Reply()方法创建回复电子邮件 并在以后丢弃它。我用它来获取发件人的电子邮件地址 用于通过Exchange服务器发送的电子邮件。

它适用于Outlook 2007。 但对于Outlook 2010,Reply方法似乎打开了邮件编辑器窗口。

我在Windows 7上。

有没有办法抑制该窗口或根据Outlook版本编写单独的代码?

1 个答案:

答案 0 :(得分:1)

如果您打算丢弃该邮件 - 请不要创建该邮件(不要使用Reply(),除非您打算发送邮件)。您可以使用Recipient类以最小的资源利用率解析Exchange用户的电子邮件地址。

string senderEmail = string.Empty;
Outlook.Recipient recipient = mailItem.Application.Session.CreateRecipient(mailItem.SenderEmailAddress);
if (recipient != null && recipient.Resolve() && recipient.AddressEntry != null) 
{
    Outlook.ExchangeUser exUser = recipient.AddressEntry.GetExchangeUser();
    if (exUser != null && !string.IsNullOrEmpty(exUser.PrimarySmtpAddress))
       senderEmail = exUser.PrimarySmtpAddress;
}