2017-11-29 403 views
0

送信プラグインで送信者のSMTPアドレスを取得しようとしています。送信者Outlook/ExchangeのSMTPアドレスを取得する方法

private void GetSMTPAddressForRecipients(Outlook.MailItem mail) 
{ 
    const string PR_SMTP_ADDRESS = 
     "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"; 
    Outlook.Recipients recips = mail.Recipients; 
    foreach (Outlook.Recipient recip in recips) 
    { 
     Outlook.PropertyAccessor pa = recip.PropertyAccessor; 
     string smtpAddress = 
      pa.GetProperty(PR_SMTP_ADDRESS).ToString(); 
     Debug.WriteLine(recip.Name + " SMTP=" + smtpAddress); 
    } 
} 

しかし、いくつかの時間(数週間)以来

http://schemas.microsoft.com/mapi/proptag/0x39FE001E 

で参照スキーマはもう解決できない:私はthis one hereなどのMSDN からの例に従うと、期待どおり これが働いていました。 にErrorMessage:私は私が手ブラウザでURLをしようとした場合

System.Runtime.InteropServices.COMException: http://schemas.microsoft.com/mapi/proptag/0x39FE001E Property unknown or ca not be found. 

The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. 

私は(オフィス2013および上記のために)見つけることができるすべての例はhttp://schemas.microsoft.com/mapi/proptag/SOMETHING

でressourcesを指しています

これは移動または変更されたフォーラムまたはoon MSDNの情報も見つかりませんでした..

これに誰かが出くわしていますか? Therは既知のソリューションかworkaroudですか?

答えて

1

http://schemas.microsoft.com/mapi/proptag/0x39FE001Eはリンクではなく、PropertyAccessorオブジェクトが期待する実際のDASLプロパティ名です。固定MAPIプロパティと名前付きMAPIプロパティの形式が異なります(例:http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/85100003)。
OutlookSpyのMAPIプロパティとそのDASL名を見ることができます(IMessageボタンをクリックしてください)。

特定のMAPIプロパティが存在するとは限りません。存在することが保証されておらず、PropertyAccessorオブジェクトから返されたエラーを予期して処理する必要があります。

送信者のSMTPアドレスを確認できない場合は、メッセージ受信者として作業しています。受信者の場合は、PR_SMTP_ADDRESSプロパティが存在するかどうかを確認します。そうでない場合は、addersエントリ(Recipient.AddressEntry)を開き、AddressEntryからそのプロパティを確認します。また、PR_EMS_AB_PROXY_ADDRESSES多値プロパティの存在を確認することもできます(配列が返されます)。 AddressEntry.GetExchangeUser()。PrimarySmtpAddress(エラーとNULLを処理する準備ができている)。 もう一度、OutlookSpyでメッセージを見て、どのプロパティが存在するかを確認してください。

+0

ああ、そうでない場合は、他のプロパティをチェックする必要があります。私はそれを試みます。ありがとうございました。 Outlookのスパイは、これまで私が捨てていない基本ツールのようだ。今も変わらなければならないと思っている;) – klaas

関連する問題