MailMessage MailMessage MailMessage MailMessage Class

Definición

Representa un mensaje de correo electrónico que se puede enviar con la clase SmtpClient. Represents an email message that can be sent using the SmtpClient class.

public ref class MailMessage : IDisposable
public class MailMessage : IDisposable
type MailMessage = class
    interface IDisposable
Public Class MailMessage
Implements IDisposable
Herencia
MailMessageMailMessageMailMessageMailMessage
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear y enviar un mensaje de correo electrónico que incluye un archivo adjunto.The following code example demonstrates creating and sending an email message that includes an attachment.

static void CreateMessageWithAttachment( String^ server )
{
   
   // Specify the file to be attached and sent.
   // This example assumes that a file named Data.xls exists in the
   // current working directory.
   String^ file = L"data.xls";
   
   // Create a message and set up the recipients.
   MailMessage^ message = gcnew MailMessage( L"jane@contoso.com",L"ben@contoso.com",L"Quarterly data report.",L"See the attached spreadsheet." );
   
   // Create  the file attachment for this email message.
   Attachment^ data = gcnew Attachment(file, MediaTypeNames::Application::Octet);
   
   // Add time stamp information for the file.
   ContentDisposition^ disposition = data->ContentDisposition;
   disposition->CreationDate = System::IO::File::GetCreationTime( file );
   disposition->ModificationDate = System::IO::File::GetLastWriteTime( file );
   disposition->ReadDate = System::IO::File::GetLastAccessTime( file );
   
   // Add the file attachment to this email message.
   message->Attachments->Add( data );
   
   //Send the message.
   SmtpClient^ client = gcnew SmtpClient( server );
   
   // Add credentials if the SMTP server requires them.
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   
   // Display the values in the ContentDisposition for the attachment.
   ContentDisposition^ cd = data->ContentDisposition;
   Console::WriteLine( L"Content disposition" );
   Console::WriteLine( cd );
   Console::WriteLine( L"File {0}", cd->FileName );
   Console::WriteLine( L"Size {0}", cd->Size );
   Console::WriteLine( L"Creation {0}", cd->CreationDate );
   Console::WriteLine( L"Modification {0}", cd->ModificationDate );
   Console::WriteLine( L"Read {0}", cd->ReadDate );
   Console::WriteLine( L"Inline {0}", cd->Inline );
   Console::WriteLine( L"Parameters: {0}", cd->Parameters->Count );
   IEnumerator^ myEnum1 = cd->Parameters->GetEnumerator();
   while ( myEnum1->MoveNext() )
   {
      DictionaryEntry^ d = safe_cast<DictionaryEntry^>(myEnum1->Current);
      Console::WriteLine( L"{0} = {1}", d->Key, d->Value );
   }

   data->~Attachment();
   client->~SmtpClient();
}


public static void CreateMessageWithAttachment(string server)
{
	// Specify the file to be attached and sent.
	// This example assumes that a file named Data.xls exists in the
	// current working directory.
	string file = "data.xls";
	// Create a message and set up the recipients.
	MailMessage message = new MailMessage(
	   "jane@contoso.com",
	   "ben@contoso.com",
	   "Quarterly data report.",
	   "See the attached spreadsheet.");

	// Create  the file attachment for this email message.
	Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
	// Add time stamp information for the file.
	ContentDisposition disposition = data.ContentDisposition;
	disposition.CreationDate = System.IO.File.GetCreationTime(file);
	disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
	disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
	// Add the file attachment to this email message.
	message.Attachments.Add(data);

	//Send the message.
	SmtpClient client = new SmtpClient(server);
	// Add credentials if the SMTP server requires them.
	client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try {
	  client.Send(message);
	}
	catch (Exception ex) {
	  Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}", 
                  ex.ToString() );			  
	}
	// Display the values in the ContentDisposition for the attachment.
	ContentDisposition cd = data.ContentDisposition;
	Console.WriteLine("Content disposition");
	Console.WriteLine(cd.ToString());
	Console.WriteLine("File {0}", cd.FileName);
	Console.WriteLine("Size {0}", cd.Size);
	Console.WriteLine("Creation {0}", cd.CreationDate);
	Console.WriteLine("Modification {0}", cd.ModificationDate);
	Console.WriteLine("Read {0}", cd.ReadDate);
	Console.WriteLine("Inline {0}", cd.Inline);
	Console.WriteLine("Parameters: {0}", cd.Parameters.Count);
	foreach (DictionaryEntry d in cd.Parameters)
	{
		Console.WriteLine("{0} = {1}", d.Key, d.Value);
	}
	data.Dispose();
}

Comentarios

Las instancias de la MailMessage clase se utilizan para construir mensajes de correo electrónico que se transmiten a un servidor SMTP para la entrega mediante la SmtpClient clase.Instances of the MailMessage class are used to construct email messages that are transmitted to an SMTP server for delivery using the SmtpClient class.

El remitente, destinatario, asunto y cuerpo de un mensaje de correo electrónico se pueden especificar como parámetros cuando un MailMessage se usa para inicializar un MailMessage objeto.The sender, recipient, subject, and body of an email message may be specified as parameters when a MailMessage is used to initialize a MailMessage object. Estos parámetros también se puede establecer o tener acceso mediante las propiedades en el MailMessage objeto.These parameters may also be set or accessed using properties on the MailMessage object.

Los encabezados del mensaje de correo electrónico principal y los elementos para el mensaje se pueden establecer mediante las siguientes propiedades de la MailMessage clase.The primary mail message headers and elements for the message may be set using the following properties of the MailMessage class.

Encabezado de mensaje o parteMail header or part Propiedad.Property
Datos adjuntosAttachments Attachments
Copias carbón ocultas (CCO)Blind carbon copies (BCC) Bcc
Copias (CC)Carbon copies (CC) CC
Content-TypeContent-Type BodyEncoding
Codificación para los encabezados personalizadosEncoding for custom headers HeadersEncoding
Cuerpo del mensajeMessage body Body
PrioridadPriority Priority
DestinatarioRecipient To
Responder aReply-To ReplyToList
SenderSender From
ContenidoSubject Subject

El MailMessage clase también permite que una aplicación tener acceso a la colección de encabezados para el mensaje mediante la Headers propiedad.The MailMessage class also allows an application to access the headers collection for the message using the Headers property. Aunque esta colección es de solo lectura (no se puede establecer una nueva colección), se pueden agregar encabezados personalizados a o se eliminan de esta colección.While this collection is read-only (a new collection can not be set), custom headers can be added to or deleted from this collection. Los encabezados personalizados agregados se incluirán cuando el MailMessage se envía la instancia.Any custom headers added will be included when the MailMessage instance is sent. Antes de enviar un mensaje, solo los encabezados específicamente agregan a esta colección en el Headers propiedad se incluyen en la colección.Before a message is sent, only headers specifically added to this collection in the Headers property are included in the collection. Después de una la MailMessage se envía la instancia, el Headers propiedad también incluirá encabezados que se establecen mediante las propiedades asociadas de la MailMessage clase o los parámetros se pasan cuando un MailMessage se usa para inicializar un MailMessage objeto.After a the MailMessage instance is sent, the Headers property will also include headers that are set using the associated properties of the MailMessage class or parameters passed when a MailMessage is used to initialize a MailMessage object.

Si algunos encabezados de correo electrónico tienen un formato incorrecto, podría provocar que se dañe el mensaje de correo electrónico.If some mail headers are malformed, they could cause the email message to become corrupted. Por lo que cualquier encabezado de correo electrónico de la colección de encabezados que se puede establecer mediante una propiedad en el MailMessage clase solo debe establecerse mediante el MailMessage propiedad de clase o como un parámetro se pasa cuando un MailMessage Inicializa un MailMessage objeto.So any mail header in the headers collection that can be set using a property on the MailMessage class should only be set using the MailMessage class property or as a parameter passed when a MailMessage initializes a MailMessage object. No se debe agregar la siguiente lista de encabezados de correo mediante el Headers propiedades y los valores se establecen para estos encabezados utilizando el Headers propiedad se descartará o se sobrescribe cuando se envía el mensaje:The following list of mail headers should not be added using the Headers property and any values set for these headers using the Headers property will be discarded or overwritten when the message is sent:

  • CCOBcc

  • CcCc

  • Identificador de contenidoContent-ID

  • Ubicación de contenidoContent-Location

  • Codificación de transferencia de contenidoContent-Transfer-Encoding

  • Content-TypeContent-Type

  • FechaDate

  • FromFrom

  • ImportanciaImportance

  • Versión MIMEMIME-Version

  • PrioridadPriority

  • Responder aReply-To

  • SenderSender

  • ParaTo

  • X-prioridadX-Priority

Si la aplicación no especifica un encabezado X-remitente con el Headers propiedad, el MailMessage clase creará uno cuando se envía el mensaje.If the application does not specify an X-Sender header using the Headers property, the MailMessage class will create one when the message is sent.

Use el AlternateViews propiedad para especificar las copias de un mensaje de correo electrónico en diferentes formatos.Use the AlternateViews property to specify copies of an email message in different formats. Por ejemplo, si envía un mensaje en formato HTML, también puede proporcionar una versión de texto sin formato en caso de algunos de los destinatarios usan lectores de correo electrónico que no se pueden mostrar el contenido HTML.For example, if you send a message in HTML, you might also want to provide a plain text version in case some of the recipients use email readers that cannot display HTML content. Para obtener un ejemplo que muestra cómo crear un mensaje con vistas alternativas, consulte AlternateViews.For an example that demonstrates creating a message with alternate views, see AlternateViews.

Use el Attachments propiedad que se va a agregar datos adjuntos a un mensaje de correo electrónico.Use the Attachments property to add attachments to an email message. Para obtener un ejemplo que muestra cómo crear un mensaje con datos adjuntos, consulte Attachments.For an example that demonstrates creating a message with an attachment, see Attachments.

Después de ensamblar el mensaje de correo electrónico, puede enviarlo mediante el uso de la Send o SendAsync métodos.After assembling your email message, you can send it by using the Send or SendAsync methods.

Constructores

MailMessage() MailMessage() MailMessage() MailMessage()

Inicializa una instancia vacía de la clase MailMessage. Initializes an empty instance of the MailMessage class.

MailMessage(MailAddress, MailAddress) MailMessage(MailAddress, MailAddress) MailMessage(MailAddress, MailAddress) MailMessage(MailAddress, MailAddress)

Inicializa una nueva instancia de la clase MailMessage utilizando los objetos especificados de clase MailAddress. Initializes a new instance of the MailMessage class by using the specified MailAddress class objects.

MailMessage(String, String) MailMessage(String, String) MailMessage(String, String) MailMessage(String, String)

Inicializa una nueva instancia de la clase MailMessage utilizando los objetos especificados de clase String. Initializes a new instance of the MailMessage class by using the specified String class objects.

MailMessage(String, String, String, String) MailMessage(String, String, String, String) MailMessage(String, String, String, String) MailMessage(String, String, String, String)

Inicializa una nueva instancia de la clase MailMessage. Initializes a new instance of the MailMessage class.

Propiedades

AlternateViews AlternateViews AlternateViews AlternateViews

Obtiene la colección de datos adjuntos que se utiliza para almacenar formatos alternativos del cuerpo del mensaje. Gets the attachment collection used to store alternate forms of the message body.

Attachments Attachments Attachments Attachments

Obtiene la colección de datos adjuntos usados para almacenar datos adjuntos a este mensaje de correo electrónico. Gets the attachment collection used to store data attached to this email message.

Bcc Bcc Bcc Bcc

Obtiene la colección de direcciones que contiene los destinatarios de copia carbón oculta (CCO) de este mensaje de correo electrónico. Gets the address collection that contains the blind carbon copy (BCC) recipients for this email message.

Body Body Body Body

Obtiene o establece el cuerpo del mensaje. Gets or sets the message body.

BodyEncoding BodyEncoding BodyEncoding BodyEncoding

Obtiene o establece la codificación que se utiliza para codificar el cuerpo del mensaje. Gets or sets the encoding used to encode the message body.

BodyTransferEncoding BodyTransferEncoding BodyTransferEncoding BodyTransferEncoding

Obtiene o establece la codificación de transferencia que se utiliza para codificar el cuerpo del mensaje. Gets or sets the transfer encoding used to encode the message body.

CC CC CC CC

Obtiene la colección de direcciones que contiene los destinatarios de copia carbón (CC) de este mensaje de correo electrónico. Gets the address collection that contains the carbon copy (CC) recipients for this email message.

DeliveryNotificationOptions DeliveryNotificationOptions DeliveryNotificationOptions DeliveryNotificationOptions

Obtiene o establece las notificaciones de entrega de este mensaje de correo electrónico. Gets or sets the delivery notifications for this email message.

From From From From

Obtiene o establece la dirección del remitente de este mensaje de correo electrónico. Gets or sets the from address for this email message.

Headers Headers Headers Headers

Obtiene los encabezados de correo electrónico que se transmiten con este mensaje de correo electrónico. Gets the email headers that are transmitted with this email message.

HeadersEncoding HeadersEncoding HeadersEncoding HeadersEncoding

Obtiene o establece la codificación usada para los encabezados personalizados definidos por el usuario para este mensaje de correo electrónico. Gets or sets the encoding used for the user-defined custom headers for this email message.

IsBodyHtml IsBodyHtml IsBodyHtml IsBodyHtml

Obtiene o establece un valor que indica si el cuerpo del mensaje de correo está en HTML. Gets or sets a value indicating whether the mail message body is in HTML.

Priority Priority Priority Priority

Obtiene o establece la prioridad de este mensaje de correo electrónico. Gets or sets the priority of this email message.

ReplyTo ReplyTo ReplyTo ReplyTo

Obtiene o establece la dirección de origen o de respuesta del mensaje de correo. Gets or sets the ReplyTo address for the mail message.

ReplyToList ReplyToList ReplyToList ReplyToList

Obtiene la lista de direcciones a las que se va a enviar una respuesta al mensaje de correo. Gets the list of addresses to reply to for the mail message.

Sender Sender Sender Sender

Obtiene o establece la dirección del remitente de este mensaje de correo electrónico. Gets or sets the sender's address for this email message.

Subject Subject Subject Subject

Obtiene o establece la línea de asunto de este mensaje de correo electrónico. Gets or sets the subject line for this email message.

SubjectEncoding SubjectEncoding SubjectEncoding SubjectEncoding

Obtiene o establece la codificación usada para el contenido del asunto de este mensaje de correo electrónico. Gets or sets the encoding used for the subject content for this email message.

To To To To

Obtiene la colección de direcciones que contiene los destinatarios de este mensaje de correo electrónico. Gets the address collection that contains the recipients of this email message.

Métodos

Dispose() Dispose() Dispose() Dispose()

Libera todos los recursos utilizados por MailMessage. Releases all resources used by the MailMessage.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libera los recursos no administrados que utiliza MailMessage y libera los recursos administrados de forma opcional. Releases the unmanaged resources used by the MailMessage and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual. Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada. Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual. Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del Object actual. Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual. Returns a string that represents the current object.

(Inherited from Object)

Se aplica a