MailAddress Klasse

Definition

Stellt die Adresse eines E-Mail-Absenders oder -Empfängers dar.

public ref class MailAddress
public class MailAddress
type MailAddress = class
Public Class MailAddress
Vererbung
MailAddress

Beispiele

Im folgenden Codebeispiel wird das Senden einer E-Mail-Nachricht mithilfe der SmtpClientKlassen , MailAddressund MailMessage veranschaulicht.

static void CreateCopyMessage( String^ server )
{
   MailAddress^ from = gcnew MailAddress( L"ben@contoso.com",L"Ben Miller" );
   MailAddress^ to = gcnew MailAddress( L"jane@contoso.com",L"Jane Clayton" );
   MailMessage^ message = gcnew MailMessage( from,to );
   
   // message.Subject = "Using the SmtpClient class.";
   message->Subject = L"Using the SmtpClient class.";
   message->Body = L"Using this feature, you can send an email message from an application very easily.";
   
   // Add a carbon copy recipient.
   MailAddress^ copy = gcnew MailAddress( L"Notification_List@contoso.com" );
   message->CC->Add( copy );
   SmtpClient^ client = gcnew SmtpClient( server );
   
   // Include credentials if the server requires them.
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   Console::WriteLine( L"Sending an email message to {0} by using the SMTP host {1}.", to->Address, client->Host );
   client->Send( message );
   client->~SmtpClient();
}
public static void CreateCopyMessage(string server)
{
    MailAddress from = new MailAddress("ben@contoso.com", "Ben Miller");
    MailAddress to = new MailAddress("jane@contoso.com", "Jane Clayton");
    MailMessage message = new MailMessage(from, to);
    // message.Subject = "Using the SmtpClient class.";
    message.Subject = "Using the SmtpClient class.";
    message.Body = @"Using this feature, you can send an email message from an application very easily.";
    // Add a carbon copy recipient.
    MailAddress copy = new MailAddress("Notification_List@contoso.com");
    message.CC.Add(copy);
    SmtpClient client = new SmtpClient(server);
    // Include credentials if the server requires them.
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    Console.WriteLine("Sending an email message to {0} by using the SMTP host {1}.",
         to.Address, client.Host);

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateCopyMessage(): {0}",
            ex.ToString());
    }
}

Hinweise

Die MailAddress -Klasse wird von den SmtpClient Klassen und MailMessage verwendet, um Adressinformationen für E-Mail-Nachrichten zu speichern.

Eine E-Mail-Adresse besteht aus einem User Namen, Host einem Namen und optional einem DisplayName. Der DisplayName kann Nicht-ASCII-Zeichen enthalten, wenn Sie sie codieren.

Die MailAddress -Klasse unterstützt die folgenden E-Mail-Adressformate:

  • Ein einfaches Adressformat von user@host. Wenn nicht DisplayName festgelegt ist, ist dies das generierte E-Mail-Adressformat.

  • Ein standardmäßiges Anzeigenamenformat von "display name" <user@host>. Wenn festgelegt DisplayName ist, ist dies das generierte Format.

    • Um den Namen und Host den User Namen werden spitzen Klammern hinzugefügt, wenn diese nicht enthalten sind. Beispielsweise "display name" user@host wird in "display name" <user@host>geändert.

    • Um DisplayNameden werden Anführungszeichen hinzugefügt, wenn diese nicht enthalten sind. Beispielsweise display name <user@host> wird in "display name" <user@host>geändert.

    • Unicode-Zeichen werden in der DisplayName -Eigenschaft unterstützt.

Innerhalb dieser beiden Formate sind die folgenden Elemente zulässig:

  • Ein User Name mit Anführungszeichen. Beispiel: "user name"@host.

  • Aufeinanderfolgende und nachfolgende Punkte in Benutzernamen. Beispiel: user...name..@host.

  • Domänenliterale in Klammern. Beispiel: <user@[my domain]>.

  • Kommentare. Beispiel: (comment)"display name"(comment)<(comment)user(comment)@(comment)domain(comment)>(comment). Kommentare werden vor der Übermittlung entfernt.

Ein Komma wird verwendet, um Elemente in einer Liste von E-Mail-Adressen zu trennen. Daher sollte ein Komma nicht in Anzeigenamen ohne Anführungszeichen in einer Liste verwendet werden. Die folgenden E-Mail-Adressen sind zulässig:

"John, Doe" <user@host>, "Bob, Smith" <user2@host>

Die folgende E-Mail-Adresse wäre nicht zulässig:

John, Doe <user@host>, Bob, Smith <user2@host>

Anführungszeichen können in anführungszeichen eingebettet werden, müssen aber mit Escapezeichen versehen werden. Die folgenden E-Mail-Adressen sind zulässig:

"John \"Jr\" Doe" <user@host>

"\"John \\\"Jr\\\" Doe\" <user@host>"

Die folgende E-Mail-Adresse wäre nicht zulässig:

"John "Jr" Doe" <user@host>

Wenn der Benutzername nicht in Anführungszeichen gesetzt wird, wird der gesamte Text zwischen dem Anfang der Zeichenfolge (oder dem Komma) und der Adresse als Teil von DisplayNamebetrachtet, einschließlich Kommentaren. Beispiel:

(non comment) unquoted display (non comment) name (non comment) <user@host>

Obwohl die MailAddress Klasse eine E-Mail-Adresse als gültig akzeptiert, akzeptieren andere E-Mail-Server die E-Mail-Adresse möglicherweise nicht.

Die MailAddress -Klasse unterstützt die folgenden E-Mail-Adressformate nicht:

  • Gemischte Anzeigenamen in Anführungszeichen und ohne Anführungszeichen. Beispiel: display "name" <user@host>.

  • Gruppen, wie in RFC 2822 Abschnitt 3.4 definiert, veröffentlicht von der IETF.

  • Die veralteten Benutzernamenformate von "user"."name"@host, user."name"@host oder "user".name@host.

Konstruktoren

MailAddress(String)

Initialisiert eine neue Instanz der MailAddress-Klasse mithilfe der angegebenen Adresse.

MailAddress(String, String)

Initialisiert eine neue Instanz der MailAddress-Klasse unter Verwendung der angegebenen Bindung und Endpunktadresse.

MailAddress(String, String, Encoding)

Initialisiert eine neue Instanz der MailAddress-Klasse unter Verwendung der angegebenen Adresse, des angegebenen Anzeigenamens und der angegebenen Codierung.

Eigenschaften

Address

Ruft die E-Mail-Adresse ab, die beim Erstellen dieser Instanz angegeben wurde.

DisplayName

Ruft den Anzeigenamen ab, der aus dem Anzeigenamen und den Adressinformationen besteht, die beim Erstellen dieser Instanz angegeben wurden.

Host

Ruft den Hostteil der Adresse ab, der beim Erstellen dieser Instanz angegeben wurde.

User

Ruft die Benutzerinformationen aus der Adresse ab, die beim Erstellen dieser Instanz angegeben wurde.

Methoden

Equals(Object)

Vergleicht zwei E-Mail-Adressen.

GetHashCode()

Gibt einen Hashwert für eine E-Mail-Adresse zurück.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgenentsprechung dieser Instanz zurück.

TryCreate(String, MailAddress)

Erstellt einen neuen MailAddress. Löst keine Ausnahme aus, wenn das Objekt nicht erstellt werden kann.

TryCreate(String, String, Encoding, MailAddress)

Erstellen Sie einen neuen MailAddress. Löst keine Ausnahme aus, wenn das Objekt nicht erstellt werden kann.

TryCreate(String, String, MailAddress)

Erstellen Sie einen neuen MailAddress. Löst keine Ausnahme aus, wenn das Objekt nicht erstellt werden kann.

Gilt für: