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 die Folgenden veranschaulicht.

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 MailMessage verwendet, um Adressinformationen für E-Mail-Nachrichten zu speichern.

Eine E-Mail-Adresse besteht aus einem Benutzernamen, Hostnamen und einem optionalen Anzeigenamen. 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 kein DisplayName Wert festgelegt ist, ist dies das generierte E-Mail-Adressformat.

  • Ein standardmäßiges Format für den Anzeigenamen in Anzeichen von "display name" <user@host>. Wenn ein DisplayName Satz festgelegt ist, ist dies das Format, das generiert wird.

    • Wenn sie noch nicht enthalten sind, werden winkelige Klammern um den User Namen und Host namen herum hinzugefügt. Beispielsweise "display name" user@host wird in "display name" <user@host>geändert.
    • Wenn sie noch nicht enthalten sind, werden Anführungszeichen um die DisplayName. Beispielsweise display name <user@host> wird in "display name" <user@host>geändert.
    • Unicode-Zeichen werden in der DisplayName Eigenschaft unterstützt.

In diesen beiden Formaten sind die folgenden Elemente zulässig:

  • Ein User Name mit Anführungszeichen. Beispiel: "user name"@host
  • Eckige Domänenliterale. Beispiel: <user@[my domain]>
  • Kommentare. Beispiel: (comment)"display name"(comment)<(comment)user(comment)@(comment)domain(comment)>(comment) Kommentare werden vor der Übertragung entfernt.
  • .NET 9 und früher NUR: Aufeinander folgende und nachfolgende Punkte in Benutzernamen. Beispiel: user...name..@host (Ab .NET 10 sind aufeinander folgende Punkte nicht zulässig.)

Ein Komma wird verwendet, um Elemente in einer Liste von E-Mail-Adressen zu trennen. Daher sollte ein Komma nicht in nicht andizierten Anzeigenamen in einer Liste verwendet werden. Die folgenden E-Mail-Adressen wären 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 eine Zeichenfolge mit Anführungszeichen eingebettet werden, müssen jedoch escapezeichen sein. Die folgenden E-Mail-Adressen wären 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 zitiert wird, wird der gesamte Text zwischen dem Anfang der Zeichenfolge (oder komma) und der Adresse als Teil der DisplayNameZeichenfolge betrachtet, 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 möglicherweise nicht die E-Mail-Adresse.

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

  • Gemischte Anzeichen und nicht angehaltene Anzeigenamen. Beispiel: display "name" <user@host>
  • Gruppen, wie in RFC 2822 Section 3.4 definiert, veröffentlicht von der IETF.
  • Die veralteten Benutzernamenformate von "user"."name"@host, user."name"@host oder "user".name@host.
  • .NET nur 10 und höhere Versionen: Aufeinander folgende Punkte im Benutzernamen, z. B. user...name@host.com.

Konstruktoren

Name Beschreibung
MailAddress(String, String, Encoding)

Initialisiert eine neue Instanz der Klasse mithilfe der MailAddress angegebenen Adresse, des Anzeigenamens und der Codierung.

MailAddress(String, String)

Initialisiert eine neue Instanz der Klasse mithilfe der MailAddress angegebenen Adresse und des Anzeigenamens.

MailAddress(String)

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

Eigenschaften

Name Beschreibung
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, die beim Erstellen dieser Instanz angegeben wurde.

User

Ruft die Benutzerinformationen aus der Adresse ab, die angegeben wurde, als diese Instanz erstellt wurde.

Methoden

Name Beschreibung
Equals(Object)

Vergleicht zwei E-Mail-Adressen.

GetHashCode()

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

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung dieser Instanz zurück.

Gilt für: