4

電子メールのSMTP アドレスを取得しようとしていますが、x.500 アドレスを取得しないようにするコードを書きました。PropertyAccessor.GetProperty(PR_SMTP_ADDRESS)whereにアクセスして SMTP アドレスを取得しPR_SMTP_ADDRESS = @"http://schemas.microsoft.com/mapi/proptag/0x39FE001E"ます。

ただし、これは一部のラップトップで機能しますが、一部のラップトップではエラーが発生します

「プロパティhttp://schemas.microsoft.com/mapi/proptag/0x39FE001Eが不明であるか、見つかりません。」

これを解決する方法はありますか?

4

1 に答える 1

2

SMTP アドレスが必要な場合Outlook.Recipientは、X.500 からを作成し、 を に解決できRecipient.AddressEntryますOutlook.ExchangeUser

string address = 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))
      address = exUser.PrimarySmtpAddress;
}

受信したエラーはPR_SMTP_ADDRESS、MIME プロパティがメール メッセージのプロパティに存在せず、送信者の SMTP アドレスを特定する別の手段が必要であることを示しています。MIME プロパティが常に存在すると想定することはできません。

于 2012-08-14T13:32:03.937 に答える