受信者の電子メール アドレスを取得する

このトピックでは、Recipients コレクション内の各受信者の SMTP アドレスを 取得する方法を示 します。

コード サンプルのメソッドは、MailItem を入力引数として受け取り、そのメール アイテムの各受信者の SMTP アドレス GetSMTPAddressForRecipients を表示します。 このメソッドでは、最初にメール アイテムに対して指定されている一連の受信者を表す Recipients コレクションを取得します。 その ****Recipients コレクション内の受信者ごとに、その Recipient オブジェクトに対応する PropertyAccessorオブジェクトを取得し 、PropertyAccessor を使用して、受信者の https://schemas.microsoft.com/mapi/proptag/0x39FE001E SMTP アドレスにマップされる MAPI プロパティの値を取得します。

このトピックには、2 つのコード サンプルが含まれています。 以下のコード サンプルは Microsoft Visual Basic for Applications (VBA) で作成されています。

Sub GetSMTPAddressForRecipients(mail As Outlook.MailItem) 
    Dim recips As Outlook.Recipients 
    Dim recip As Outlook.Recipient 
    Dim pa As Outlook.PropertyAccessor 
    Const PR_SMTP_ADDRESS As String = _ 
        "http://schemas.microsoft.com/mapi/proptag/0x39FE001E" 
    Set recips = mail.Recipients 
    For Each recip In recips 
        Set pa = recip.PropertyAccessor 
        Debug.Print recip.name & " SMTP=" _ 
           & pa.GetProperty(PR_SMTP_ADDRESS) 
    Next 
End Sub

次のマネージ コードは C# で作成されています。 コンポーネント オブジェクト モデル (COM) に呼び出す必要がある .NET Framework マネージ コード サンプルを実行するには、マネージ インターフェイスを定義し、オブジェクト モデル タイプ ライブラリの COM オブジェクトにマップする相互運用機能アセンブリを使用する必要があります。 Outlook の場合、Visual Studio および Outlook プライマリ相互運用機能アセンブリ (PIA) を使用できます。 Outlook 2013 用のマネージ コード サンプルを実行する前に、Outlook 2013 PIA をインストールしており、Visual Studio で Microsoft Outlook 15.0 オブジェクト ライブラリ コンポーネントへの参照を追加していることを確認してください。 (開発者向けツールを使用して) OutlookアドインのクラスでOffice ThisAddIn コードを使用Visual Studio。 コードの Application オブジェクトは で提供された、信頼済み Outlook ThisAddIn.Globals オブジェクトである必要があります。 Outlook PIA を使用してマネージ Outlook ソリューションを開発する方法の詳細については、「MSDNの Outlook プライマリ相互運用機能アセンブリ リファレンスへようこそ」を参照してください。

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); 
    } 
} 

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。