Abrufen der E-Mail-Adresse eines Empfängers

In diesem Thema wird gezeigt, wie Die SMTP-Adresse für jeden Empfänger in einer Recipients-Auflistung abgerufen wird.

Die -Methode im Codebeispiel verwendet GetSMTPAddressForRecipientsein MailItem-Objekt als Eingabeargument und zeigt dann die SMTP-Adresse jedes Empfängers für dieses E-Mail-Element an. Die Methode ruft zuerst die Recipients-Auflistung ab, die den Satz von Empfängern darstellt, die für das E-Mail-Element angegeben wurden. Für jeden Empfänger in dieser Empfänger-Sammlung ruft die Methode dann das PropertyAccessor-Objekt ab, das diesem Empfänger-Objekt entspricht, und verwendet den PropertyAccessor zum Abrufen des Werts der MAPI-Eigenschaft https://schemas.microsoft.com/mapi/proptag/0x39FE001E, die der SMTP-Adresse des Empfängers zugeordnet ist.

Dieses Thema enthält zwei Codebeispiele. Das folgende Codebeispiel ist in Microsoft Visual Basic for Applications (VBA) geschrieben.

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

Der folgende verwaltete Code ist in C# geschrieben. Um ein verwaltetes Codebeispiel von .NET Framework auszuführen, das ein Component Object Model (COM) aufrufen muss, müssen Sie eine Interopassembly verwenden, die verwaltete Schnittstellen definiert und den COM-Objekten in der Object Model-Typbibliothek zuordnet. Für Outlook können Sie Visual Studio und die Outlook Primary Interop Assembly (PIA) verwenden. Stellen Sie sicher, dass Sie die Outlook 2013 PIA installiert und eine Referenz zur Microsoft Outlook 15.0-Objektbibliothekkomponente in Visual Studio hinzugefügt haben, bevor Sie verwaltete Codebeispiele für Outlook 2013 ausführen. Sie sollten den folgenden Code in der ThisAddIn Klasse eines Outlook-Add-Ins verwenden (mit Office Developer Tools für Visual Studio). Das Objekt der Anwendung im Code muss ein vertrauenswürdiges Outlook- Anwendungsobjekt sein, das von ThisAddIn.Globals bereitgestellt wird. Weitere Informationen zur Verwendung der Outlook-PIA zur Entwicklung verwalteter Outlook-Lösungen finden Sie auf MSDN unter Willkommen bei der Referenz zur primären Interopassembly von Outlook (PIA).

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 und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.