.NET Framework Class Library MailAddress Class Represents the address of an electronic mail sender or recipient.

Inheritance Hierarchy
Namespace:
System.Net.Mail
Assembly:
System (in System.dll)

Syntax
public ref class MailAddress
type MailAddress = class end
The MailAddress type exposes the following members.

Constructors

Methods

Remarks
The MailAddress class is used by the SmtpClient and MailMessage classes to store address information for e-mail messages. A mail address is composed of a User name, Host name and optionally, a DisplayName. The DisplayName can contain non-ASCII characters if you encode them. The MailAddress class supports the following mail address formats: A simple address format of user@host. If a DisplayName is not set, this is the mail address format generated. A standard quoted display name format of "display name" <user@host>. If a DisplayName is set, this is the format generated. Angle brackets are added around the User name, Host name for "display name" user@host if these are not included. Quotes are added around the DisplayName for display name <user@host>, if these are not included. Unicode characters are supported in the DisplayName. property. A User name with quotes. For example, "user name"@host. Consecutive and trailing dots in user names. For example, user...name..@host. Bracketed domain literals. For example, <user@[my domain]>. Comments. For example, (comment)"display name"(comment)<(comment)user(comment)@(comment)domain(comment)>(comment). Comments are removed before transmission.
A comma is used to separate elements in a list of mail addresses. As a result, a comma should not be used in unquoted display names in a list. The following mail addresses would be allowed
"John, Doe" <user@host>, "Bob, Smith" <user2@host>
The following mail address would not be allowed:
John, Doe <user@host>, Bob, Smith <user2@host>
Quotes can be embedded in a quoted string, but they must be escaped. The following mail addresses would be allowed
"John \"Jr\" Doe" <user@host>
"\"John \\\"Jr\\\" Doe\" <user@host>"
The following mail address would not be allowed:
"John "Jr" Doe" <user@host>
When the username is note quoted, all text between the start of the string (or comma) and the address are considered part of the DisplayName, including comments. -- Example: (non comment) unquoted display (non comment) name (non comment) <user@host> Although the MailAddress class accepts a mail address as valid, other mail servers may not accept the mail address. The MailAddress class does not support the following mail address formats: Mixed quoted and unquoted display names. For example, display "name" <user@host> Groups, as defined in RFC 2822 Section 3.4 published by the IETF. The obsolete user name formats of "user"."name"@host, user."name"@host or "user".name@host

Examples
The following code example demonstrates sending an e-mail message by using the SmtpClient, MailAddress, and MailMessage classes.
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 e-mail 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 e-mail 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() );
}
}
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 e-mail 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 e-mail message to {0} by using the SMTP host {1}.", to->Address, client->Host );
client->Send( message );
client->~SmtpClient();
}

Version Information
.NET FrameworkSupported in: 4, 3.5, 3.0, 2.0 .NET Framework Client ProfileSupported in: 4, 3.5 SP1

Platforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role not supported), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Thread Safety
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also
|
Biblioteca de clases de .NET Framework MailAddress (Clase) Representa la dirección de un remitente o destinatario de correo electrónico.

Jerarquía de herencia
Espacio de nombres:
System.Net.Mail
Ensamblado:
System (en System.dll)

Sintaxis
public ref class MailAddress
type MailAddress = class end
El tipo MailAddress expone los siguientes miembros.

Métodos

Comentarios
Las clases SmtpClient y MailMessage utilizan la clase MailAddress para almacenar la información de dirección de los mensajes de correo electrónico. Una dirección de correo se compone de un nombre User, un nombre Host y, opcionalmente, un nombre DisplayName. El valor de la propiedad DisplayName podrá contener caracteres que no sean ASCII si se codifican. La clase MailAddress admite los siguientes formatos de dirección de correo: Un formato de dirección simple de user@host. Si no se establece DisplayName, éste es el formato de la dirección de correo generado. Un formato del nombre para mostrar entrecomillado estándar de "display name" <user@host>. Si se establece DisplayName, éste es el formato generado. Se agregan corchetes angulares alrededor del nombre User, nombre Host para "display name" user@host, si no están incluidas. Las comillas se agregan alrededor de DisplayName para display name <user@host>, si no están incluidas. Se admiten caracteres Unicode en DisplayName. propiedad . Un nombre User con comillas. Por ejemplo: "user name"@host. Puntos consecutivos y finales en nombres de usuario. Por ejemplo: user...name..@host. Literales de dominio entre etiquetas. Por ejemplo: <user@[my domain]>. Comments. Por ejemplo: (comment)"display name"(comment)<(comment)user(comment)@(comment)domain(comment)>(comment). Los comentarios se quitan antes de la transmisión.
Una coma se usa para separar los elementos en una lista de direcciones de correo. Como resultado, una coma no se debería usar en nombres para mostrar sin comillas en una lista. No se permitirán las siguientes direcciones de correo
"John, Doe" <user@host>, "Bob, Smith" <user2@host>
No se permitirá la siguiente dirección de correo:
John, Doe <user@host>, Bob, Smith <user2@host>
Las comillas se pueden insertar en una cadena entrecomillada, pero se deben escapar. No se permitirán las siguientes direcciones de correo
"John \"Jr\" Doe" <user@host>
"\"John \\\"Jr\\\" Doe\" <user@host>"
No se permitirá la siguiente dirección de correo:
"John "Jr" Doe" <user@host>
Cuando el nombre de usuario está entrecomillado, todo el texto entre el inicio de la cadena (o coma) y la dirección se considera como parte de DisplayName, incluidos los comentarios. -- Ejemplo: (non comment) unquoted display (non comment) name (non comment) <user@host> Aunque la clase MailAddress acepta una dirección de correo como válida, otros servidores de correo no puede aceptar la dirección de correo. La clase MailAddress no admite los siguientes formatos de dirección de correo: Nombres para mostrar con comillas y sin comillas mezclados. Por ejemplo, display "name" <user@host> Grupos, como se define en la sección 3.4 de RFC 2822 publicada por IETF. Los formatos de nombre de usuario obsoletos de "user"."name"@host, user."name"@host o "user".name@host

Ejemplos
En el siguiente ejemplo de código se muestra cómo enviar un mensaje de correo electrónico utilizando las clases SmtpClient, MailAddress y 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 e-mail 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 e-mail 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() );
}
}
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 e-mail 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 e-mail message to {0} by using the SMTP host {1}.", to->Address, client->Host );
client->Send( message );
client->~SmtpClient();
}

Información de versión
.NET FrameworkCompatible con: 4, 3.5, 3.0, 2.0 .NET Framework Client ProfileCompatible con: 4, 3.5 SP1

Plataformas
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Seguridad para subprocesos
Todos los miembros static ( Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también
|