受信者の電子メールアドレスを取得するObtain the Email Address of a Recipient

このトピックでは、 Recipients コレクション内の各受信者の SMTP アドレスを取得する方法を示します。This topic shows how to obtain the SMTP address for each recipient in a Recipients collection.

コードサンプルGetSMTPAddressForRecipientsのメソッドは、入力引数として**MailItem** を受け取り、そのメールアイテムの各受信者の SMTP アドレスを表示します。The method in the code sample, GetSMTPAddressForRecipients, takes a MailItem as an input argument and then displays the SMTP address of each recipient for that mail item. このメソッドでは、最初にメール アイテムに対して指定されている一連の受信者を表す Recipients コレクションを取得します。The method first retrieves the Recipients collection that represents the set of recipients specified for the mail item. このRecipientsコレクション内の各**受信者** について、メソッドはその受信者オブジェクトに対応する**PropertyAccessor** オブジェクトを取得し、 PropertyAccessorを使用して MAPI の値を取得します。プロパティhttp://schemas.microsoft.com/mapi/proptag/0x39FE001E。これは、受信者の SMTP アドレスにマップされます。For each Recipient in that Recipients collection, the method then obtains the PropertyAccessor object that corresponds to that Recipient object, and uses the PropertyAccessor to get the value of the MAPI property http://schemas.microsoft.com/mapi/proptag/0x39FE001E, that maps to the SMTP address of the recipient.

このトピックには、2 つのコード サンプルが含まれています。This topic contains two code samples. 以下のコード サンプルは Microsoft Visual Basic for Applications (VBA) で作成されています。The following code sample is written in 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 アドインの ThisAddIn クラスで次のコードを使用します (Visual Studio の Office Developer Tools を使用)。 コードの Application オブジェクトは **** で提供された、信頼済み Outlook ThisAddIn.Globals オブジェクトである必要があります。 Outlook PIA を使用したマネージ Outlook ソリューションの開発の詳細については、MSDN の「 Outlook プライマリ相互運用機能アセンブリ リファレンスへようこそ」を参照してください。For more information about using the Outlook PIA to develop managed Outlook solutions, see the Welcome to the Outlook Primary Interop Assembly Reference on MSDN.

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

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.