Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase MailMessage

 

Publicado: octubre de 2016

Representa un mensaje de correo electrónico que puede enviarse mediante el SmtpClient clase.

Espacio de nombres:   System.Net.Mail
Ensamblado:  System (en System.dll)

System.Object
  System.Net.Mail.MailMessage

public class MailMessage : IDisposable

NombreDescripción
System_CAPS_pubmethodMailMessage()

Inicializa una instancia vacía de la clase MailMessage.

System_CAPS_pubmethodMailMessage(MailAddress, MailAddress)

Inicializa una nueva instancia de la MailMessage clase usando el MailAddress objetos de la clase.

System_CAPS_pubmethodMailMessage(String, String)

Inicializa una nueva instancia de la MailMessage clase usando el String objetos de la clase.

System_CAPS_pubmethodMailMessage(String, String, String, String)

Inicializa una nueva instancia de la clase MailMessage.

NombreDescripción
System_CAPS_pubpropertyAlternateViews

Obtiene la colección de datos adjuntos que se utiliza para almacenar formatos alternativos del cuerpo del mensaje.

System_CAPS_pubpropertyAttachments

Obtiene la colección de datos adjuntos que se utiliza para almacenar los datos adjuntos a este mensaje de correo electrónico.

System_CAPS_pubpropertyBcc

Obtiene la colección de direcciones que contiene a los destinatarios ocultos de copia (CCO) de este mensaje de correo electrónico.

System_CAPS_pubpropertyBody

Obtiene o establece el cuerpo del mensaje.

System_CAPS_pubpropertyBodyEncoding

Obtiene o establece la codificación utilizada para codificar el cuerpo del mensaje.

System_CAPS_pubpropertyBodyTransferEncoding

Obtiene o establece la codificación de transferencia utilizado para codificar el cuerpo del mensaje.

System_CAPS_pubpropertyCC

Obtiene la colección de direcciones que contiene a los destinatarios de copia (CC) para este mensaje de correo electrónico.

System_CAPS_pubpropertyDeliveryNotificationOptions

Obtiene o establece las notificaciones de entrega para este mensaje de correo electrónico.

System_CAPS_pubpropertyFrom

Obtiene o establece la dirección de este mensaje de correo electrónico.

System_CAPS_pubpropertyHeaders

Obtiene los encabezados de correo electrónico que se transmiten con este mensaje de correo electrónico.

System_CAPS_pubpropertyHeadersEncoding

Obtiene o establece la codificación utilizada para los encabezados personalizados definidos por el usuario para este mensaje de correo electrónico.

System_CAPS_pubpropertyIsBodyHtml

Obtiene o establece un valor que indica si el cuerpo del mensaje de correo electrónico en Html.

System_CAPS_pubpropertyPriority

Obtiene o establece la prioridad de este mensaje de correo electrónico.

System_CAPS_pubpropertyReplyTo

Obsoleto. Obtiene o establece la dirección ReplyTo del mensaje de correo.

System_CAPS_pubpropertyReplyToList

Obtiene o establece la lista de direcciones para responder al mensaje de correo.

System_CAPS_pubpropertySender

Obtiene o establece la dirección del remitente de este mensaje de correo electrónico.

System_CAPS_pubpropertySubject

Obtiene o establece la línea de asunto de este mensaje de correo electrónico.

System_CAPS_pubpropertySubjectEncoding

Obtiene o establece la codificación utilizada para el contenido del asunto de este mensaje de correo electrónico.

System_CAPS_pubpropertyTo

Obtiene la colección de direcciones que contiene a los destinatarios de este mensaje de correo electrónico.

NombreDescripción
System_CAPS_pubmethodDispose()

Libera todos los recursos que usa MailMessage.

System_CAPS_protmethodDispose(Boolean)

Libera los recursos no administrados que usa MailMessage y libera los recursos administrados de forma opcional.

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de que sea reclamado por la recolección de elementos no utilizados.(Heredado de Object).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa el objeto actual.(Heredado de Object).

Las instancias de la MailMessage clase se utiliza para construir mensajes de correo electrónico que se transmiten a un servidor SMTP para la entrega mediante la SmtpClient clase.

Remitente, destinatario, asunto y cuerpo del mensaje de correo electrónico se pueden especificar como parámetros cuando un MailMessage se usa para inicializar un MailMessage objeto. Estos parámetros también pueden establecerse o tener acceso mediante las propiedades en la MailMessage objeto.

Los encabezados de mensaje de correo electrónico principal y los elementos del mensaje pueden establecerse utilizando las siguientes propiedades de la MailMessage clase.

Encabezado de mensaje o parte

Propiedad

Datos adjuntos

Attachments

Copias ocultas (CCO)

Bcc

Copias (CC)

CC

Tipo de contenido

BodyEncoding

Codificación para los encabezados personalizados

HeadersEncoding

Cuerpo del mensaje

Body

Prioridad

Priority

Destinatario

To

Responder a

ReplyToList

Sender

From

Contenido

Subject

La MailMessage clase también permite a una aplicación acceso a la colección de encabezados para el mensaje mediante la Headers propiedad. Aunque esta colección es de sólo lectura (no se puede establecer una nueva colección), los encabezados personalizados se pueden agregar a o eliminar de esta colección. Cualquier encabezado personalizado agregado se incluirán cuando el MailMessage se envía la instancia. Antes de enviar un mensaje, solo los encabezados específicamente agregan a esta colección en la Headers propiedad se incluyen en la colección. Después de una la MailMessage se envía la instancia, el Headers propiedad también incluirá los encabezados que se establecen mediante las propiedades asociadas de la MailMessage clase o parámetros pasan cuando un MailMessage se usa para inicializar un MailMessage objeto.

Si algunos encabezados de mensaje son incorrectos, que pueden producir el mensaje de correo electrónico están dañados. Así que cualquier encabezado de correo electrónico en la colección de encabezados que se puede establecer utilizando una propiedad en la MailMessage clase sólo se puede establecer utilizando la MailMessage propiedad de clase o como un parámetro pasado cuando un MailMessage Inicializa un MailMessage objeto. No se debe agregar la siguiente lista de encabezados de correo electrónico mediante el Headers establecen la propiedad y los valores para estos encabezados usando la Headers propiedad se descartará o se sobrescribe cuando se envía el mensaje:

  • CCO

  • Cc

  • Identificador de contenido

  • Ubicación de contenido

  • Codificación de transferencia de contenido

  • Tipo de contenido

  • Fecha

  • De

  • Importancia

  • Versión de MIME

  • Prioridad

  • Responder a

  • Sender

  • Para

  • Prioridad X

Si la aplicación no especifica un encabezado X-remitente con el Headers propiedad, la MailMessage clase creará uno cuando se envía el mensaje.

Utilice la AlternateViews propiedad para especificar copias de un mensaje de correo electrónico en diferentes formatos. Por ejemplo, si envía un mensaje en formato HTML, también puede proporcionar una versión de texto sin formato en caso de que algunos de los destinatarios utilizan lectores de correo que no pueden mostrar contenido HTML. Para obtener un ejemplo que muestra cómo crear un mensaje con vistas alternativas, consulte AlternateViews.

Utilice la Attachments propiedad para agregar datos adjuntos a un mensaje de correo electrónico. Para obtener un ejemplo que muestra cómo crear un mensaje con datos adjuntos, consulte Attachments.

Después de ensamblar el mensaje de correo electrónico, puede enviarlo utilizando el Send o SendAsync métodos.

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.

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

.NET Framework
Disponible desde 2.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: