MailAddress Klass

Definition

Representerar adressen till en e-postsändare eller mottagare.

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

Exempel

I följande kodexempel visas hur du skickar ett e-postmeddelande med hjälp av klasserna SmtpClient, MailAddressoch MailMessage .

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

Kommentarer

Klassen MailAddress används av SmtpClient klasserna och MailMessage för att lagra adressinformation för e-postmeddelanden.

En e-postadress består av ett användarnamn, värdnamn och ett valfritt visningsnamn. DisplayName kan innehålla icke-ASCII-tecken om du kodar dem.

Klassen MailAddress stöder följande e-postadressformat:

  • Ett enkelt adressformat för user@host. Om en DisplayName inte har angetts är detta det e-postadressformat som genereras.

  • Ett standardformat för visningsnamn på "display name" <user@host>. Om en DisplayName har angetts är det här formatet som genereras.

    • Om de inte redan ingår läggs vinkelparenteser till runt User namn och Host namn. Till exempel "display name" user@host ändras till "display name" <user@host>.
    • Om de inte redan ingår läggs citattecken till runt DisplayName. Till exempel display name <user@host> ändras till "display name" <user@host>.
    • Unicode-tecken stöds i egenskapen DisplayName .

I dessa två format tillåts följande element:

  • Ett User namn med citattecken. Till exempel "user name"@host.
  • Hakparenteserade domänliteraler. Till exempel <user@[my domain]>.
  • Kommentarer. Till exempel (comment)"display name"(comment)<(comment)user(comment)@(comment)domain(comment)>(comment). Kommentarer tas bort före överföring.
  • .NET 9 och tidigare ENDAST: Efterföljande och avslutande punkter i användarnamn. Till exempel user...name..@host. (Från och med .NET 10 tillåts inte efterföljande punkter.)

Ett kommatecken används för att avgränsa element i en lista med e-postadresser. Därför bör ett kommatecken inte användas i ociterade visningsnamn i en lista. Följande e-postadresser skulle tillåtas:

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

Följande e-postadress skulle inte tillåtas:

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

Citattecken kan bäddas in i en citerad sträng, men de måste vara undantagna. Följande e-postadresser skulle tillåtas:

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

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

Följande e-postadress skulle inte tillåtas:

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

När användarnamnet inte anges betraktas all text mellan början av strängen (eller kommatecknet) och adressen som en del av DisplayName, inklusive kommentarer. Ett exempel:

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

MailAddress Även om klassen accepterar en e-postadress som giltig kanske andra e-postservrar inte accepterar e-postadressen.

Klassen MailAddress stöder inte följande e-postadressformat:

  • Blandade citattecken och ociterade visningsnamn. Till exempel display "name" <user@host>.
  • Grupper enligt definitionen i RFC 2822 avsnitt 3.4 som publicerats av IETF.
  • De föråldrade användarnamnsformaten "user"."name"@hostför , user."name"@host eller "user".name@host.
  • .NET endast 10 och senare versioner: Efterföljande punkter i användarnamnet, till exempel user...name@host.com.

Konstruktorer

Name Description
MailAddress(String, String, Encoding)

Initierar en ny instans av MailAddress klassen med den angivna adressen, visningsnamnet och kodningen.

MailAddress(String, String)

Initierar en ny instans av MailAddress klassen med den angivna adressen och visningsnamnet.

MailAddress(String)

Initierar en ny instans av MailAddress klassen med den angivna adressen.

Egenskaper

Name Description
Address

Hämtar den e-postadress som angavs när den här instansen skapades.

DisplayName

Hämtar visningsnamnet från visningsnamnet och adressinformationen som angavs när den här instansen skapades.

Host

Hämtar värddelen av den adress som angavs när den här instansen skapades.

User

Hämtar användarinformationen från den adress som angavs när den här instansen skapades.

Metoder

Name Description
Equals(Object)

Jämför två e-postadresser.

GetHashCode()

Returnerar ett hash-värde för en e-postadress.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en strängrepresentation av den här instansen.

Gäller för