MailAddress Classe

Definizione

Rappresenta l'indirizzo di un mittente o di un destinatario di posta elettronica.

public ref class MailAddress
public class MailAddress
type MailAddress = class
Public Class MailAddress
Ereditarietà
MailAddress

Esempio

Nell'esempio di codice seguente viene illustrato l'invio di un messaggio di posta elettronica usando le SmtpClientclassi , MailAddresse MailMessage .

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

Commenti

La MailAddress classe viene utilizzata dalle classi e MailMessage per archiviare le informazioni sull'indirizzo SmtpClient per i messaggi di posta elettronica.

Un indirizzo di posta elettronica è composto da un User nome, Host un nome e, facoltativamente, un oggetto DisplayName. Può DisplayName contenere caratteri non ASCII se li si codifica.

La MailAddress classe supporta i formati di indirizzo di posta elettronica seguenti:

  • Formato di indirizzo semplice di user@host. Se non DisplayName è impostato, questo è il formato dell'indirizzo di posta elettronica generato.

  • Formato del nome visualizzato tra virgolette standard di "display name" <user@host>. Se è impostato, DisplayName questo è il formato generato.

    • Le parentesi angolari vengono aggiunte intorno al nome e Host al User nome, se non sono incluse. Ad esempio, "display name" user@host viene modificato in "display name" <user@host>.

    • Le virgolette vengono aggiunte intorno a DisplayName, se non sono incluse. Ad esempio, display name <user@host> viene modificato in "display name" <user@host>.

    • I caratteri Unicode sono supportati nella DisplayName proprietà .

All'interno di questi due formati sono consentiti gli elementi seguenti:

  • Nome User con virgolette. Ad esempio: "user name"@host.

  • Punti consecutivi e finali nei nomi utente. Ad esempio: user...name..@host.

  • Valori letterali di dominio tra parentesi quadre. Ad esempio: <user@[my domain]>.

  • Commenti. Ad esempio: (comment)"display name"(comment)<(comment)user(comment)@(comment)domain(comment)>(comment). I commenti vengono rimossi prima della trasmissione.

Una virgola viene utilizzata per separare gli elementi in un elenco di indirizzi di posta elettronica. Di conseguenza, una virgola non deve essere utilizzata nei nomi visualizzati non racchiusi tra virgolette in un elenco. Gli indirizzi di posta elettronica seguenti sono consentiti:

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

Non è consentito l'indirizzo di posta seguente:

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

Le virgolette possono essere incorporate in una stringa tra virgolette, ma devono essere precedute da un carattere di escape. Gli indirizzi di posta elettronica seguenti sono consentiti:

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

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

Non è consentito l'indirizzo di posta seguente:

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

Quando il nome utente non è racchiuso tra virgolette, tutto il testo tra l'inizio della stringa (o la virgola) e l'indirizzo vengono considerati parte di , inclusi i DisplayNamecommenti. Ad esempio:

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

Anche se la MailAddress classe accetta un indirizzo di posta elettronica come valido, altri server di posta potrebbero non accettare l'indirizzo di posta elettronica.

La MailAddress classe non supporta i formati di indirizzo di posta elettronica seguenti:

  • Nomi visualizzati tra virgolette e non racchiusi tra virgolette. Ad esempio: display "name" <user@host>.

  • Gruppi, come definito nella RFC 2822 Sezione 3.4 pubblicata da IETF.

  • Formati di nome utente obsoleti di "user"."name"@hosto user."name"@host"user".name@host.

Costruttori

MailAddress(String)

Inizializza un'istanza nuova della classe MailAddress usando l'indirizzo specificato.

MailAddress(String, String)

Inizializza un'istanza nuova della classe MailAddress usando l'indirizzo e il nome visualizzato specificati.

MailAddress(String, String, Encoding)

Inizializza una nuova istanza della classe MailAddress utilizzando l'indirizzo, il nome visualizzato e la codifica specificati.

Proprietà

Address

Ottiene l'indirizzo di posta elettronica specificato quando è stata creata questa istanza.

DisplayName

Ottiene il nome visualizzato composto dalle informazioni sul nome visualizzato e sull'indirizzo specificate quando è stata creata questa istanza.

Host

Ottiene la parte che definisce l'host dell'indirizzo specificato quando è stata creata questa istanza.

User

Ottiene le informazioni sull'utente dall'indirizzo specificato quando è stata creata questa istanza.

Metodi

Equals(Object)

Confronta due indirizzi di posta.

GetHashCode()

Restituisce un valore hash per un indirizzo di posta.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in forma di stringa di questa istanza.

TryCreate(String, MailAddress)

Crea un nuovo oggetto MailAddress. Non genera un'eccezione se l'oggetto non può essere creato.

TryCreate(String, String, Encoding, MailAddress)

Creare un nuovo oggetto MailAddress. Non genera un'eccezione se l'oggetto non può essere creato.

TryCreate(String, String, MailAddress)

Creare un nuovo oggetto MailAddress. Non genera un'eccezione se l'oggetto non può essere creato.

Si applica a