MailAddress Classe

Definição

Representa o endereço de um remetente ou destinatário de um correio eletrónico.

public ref class MailAddress
public class MailAddress
type MailAddress = class
Public Class MailAddress
Herança
MailAddress

Exemplos

O exemplo de código seguinte demonstra o envio de uma mensagem de email usando as SmtpClientclasses , MailAddress, e 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());
    }
}

Observações

A MailAddress classe é usada pelas SmtpClient classes e MailMessage para armazenar informações de endereço para mensagens de email.

Um endereço de email é composto por um nome de utilizador, nome do anfitrião e um nome de exibição opcional. DisplayName pode conter caracteres não ASCII se os codificar.

A MailAddress classe suporta os seguintes formatos de endereço de correio:

  • Um formato simples de endereço de user@host. Se a DisplayName não estiver definido, este é o formato de endereço de email gerado.

  • Um formato padrão de nome de exibição citado de "display name" <user@host>. Se a DisplayName for definido, este é o formato que é gerado.

    • Se ainda não estiverem incluídos, são adicionados colchetes angulares à volta do User nome e Host do nome. Por exemplo, "display name" user@host é alterado para "display name" <user@host>.
    • Se ainda não estiverem incluídos, as cotações são adicionadas à volta do DisplayName. Por exemplo, display name <user@host> é alterado para "display name" <user@host>.
    • Caracteres Unicode são suportados na DisplayName propriedade.

Dentro destes dois formatos, são permitidos os seguintes elementos:

  • Um User nome com aspas. Por exemplo, "user name"@host.
  • Literal de domínio entre parênteses. Por exemplo, <user@[my domain]>.
  • Observações. Por exemplo, (comment)"display name"(comment)<(comment)user(comment)@(comment)domain(comment)>(comment). Os comentários são removidos antes da transmissão.
  • .NET 9 e anteriores APENAS: Pontos consecutivos e finais nos nomes de utilizador. Por exemplo, user...name..@host. (A partir do .NET 10, pontos consecutivos não são permitidos.)

Uma vírgula é usada para separar elementos numa lista de endereços de correio. Como resultado, uma vírgula não deve ser usada em nomes de exibição não aspas numa lista. Os seguintes endereços de correio seriam permitidos:

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

O seguinte endereço postal não seria permitido:

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

As aspas podem ser incorporadas numa cadeia de aspas, mas têm de ser evitadas. Os seguintes endereços de correio seriam permitidos:

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

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

O seguinte endereço postal não seria permitido:

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

Quando o nome de utilizador não é citado, todo o texto entre o início da cadeia (ou vírgula) e o endereço é considerado parte do DisplayName, incluindo os comentários. Por exemplo:

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

Embora a MailAddress classe aceite um endereço de email como válido, outros servidores de email podem não aceitar esse endereço.

A MailAddress classe não suporta os seguintes formatos de endereço de correio:

  • Nomes de exibição mistos entre aspas e sem aspas. Por exemplo, display "name" <user@host>.
  • Grupos, conforme definido na Secção 3.4 do RFC 2822 publicada pelo IETF.
  • Os formatos obsoletos de nomes de utilizador de "user"."name"@host, user."name"@host ou "user".name@host.
  • .NET apenas versões 10 e posteriores: pontos consecutivos no nome de utilizador, por exemplo, user...name@host.com.

Construtores

Name Description
MailAddress(String, String, Encoding)

Inicializa uma nova instância da MailAddress classe usando o endereço, nome de exibição e codificação especificados.

MailAddress(String, String)

Inicializa uma nova instância da MailAddress classe usando o endereço e o nome de exibição especificados.

MailAddress(String)

Inicializa uma nova instância da MailAddress classe usando o endereço especificado.

Propriedades

Name Description
Address

Obtém o endereço de email especificado quando esta instância foi criada.

DisplayName

Obtém o nome de exibição composto a partir da informação do nome e endereço especificados quando esta instância foi criada.

Host

Obtém a parte anfitriã do endereço especificado quando esta instância foi criada.

User

Obtém a informação do utilizador a partir do endereço especificado quando esta instância foi criada.

Métodos

Name Description
Equals(Object)

Compara dois endereços postais.

GetHashCode()

Devolve um valor de hash para um endereço de e-mail.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma representação em cadeia desta instância.

Aplica-se a