MailMessage.Headers Propiedad

Definición

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

public:
 property System::Collections::Specialized::NameValueCollection ^ Headers { System::Collections::Specialized::NameValueCollection ^ get(); };
public System.Collections.Specialized.NameValueCollection Headers { get; }
member this.Headers : System.Collections.Specialized.NameValueCollection
Public ReadOnly Property Headers As NameValueCollection

Valor de propiedad

NameValueCollection

que NameValueCollection contiene los encabezados de correo electrónico.

Ejemplos

En el ejemplo de código siguiente se muestra la visualización de los encabezados de un mensaje de correo.

static void CreateMessageWithAttachment4( String^ server, String^ to )
{
   
   // Specify the file to be attached and sent.
   // This example uses a file on a UNC share.
   String^ file = L"\\\\share3\\c$\\reports\\data.xls";
   
   // Create a message and set up the recipients.
   MailMessage^ message = gcnew MailMessage( L"ReportMailer@contoso.com",to,L"Quarterly data report",L"See the attached spreadsheet." );
   
   // Create  the file attachment for this email message.
   Attachment^ data = gcnew Attachment("qtr3.xls", 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 );
   disposition->DispositionType = DispositionTypeNames::Attachment;
   
   // 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 = dynamic_cast<ICredentialsByHost^>(CredentialCache::DefaultNetworkCredentials);
   client->Send( message );
   
   // Display the message headers.
   array<String^>^keys = message->Headers->AllKeys;
   Console::WriteLine( L"Headers" );
   IEnumerator^ myEnum3 = keys->GetEnumerator();
   while ( myEnum3->MoveNext() )
   {
      String^ s = safe_cast<String^>(myEnum3->Current);
      Console::WriteLine( L"{0}:", s );
      Console::WriteLine( L"    {0}", message->Headers[ s ] );
   }

   data->~Attachment();
   client->~SmtpClient();
}
public static void CreateMessageWithAttachment4(string server, string to)
{
    // Specify the file to be attached and sent.
    // This example uses a file on a UNC share.
    string file = @"\\share3\c$\reports\data.xls";
    // Create a message and set up the recipients.
    MailMessage message = new MailMessage(
       "ReportMailer@contoso.com",
       to,
       "Quarterly data report",
       "See the attached spreadsheet.");

    // Create  the file attachment for this email message.
    Attachment data = new Attachment("qtr3.xls", 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);
    disposition.DispositionType = DispositionTypeNames.Attachment;
    // 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 = (ICredentialsByHost)CredentialCache.DefaultNetworkCredentials;
    client.Send(message);
    // Display the message headers.
    string[] keys = message.Headers.AllKeys;
    Console.WriteLine("Headers");
    foreach (string s in keys)
    {
        Console.WriteLine("{0}:", s);
        Console.WriteLine("    {0}", message.Headers[s]);
    }
    data.Dispose();
}
Public Shared Sub CreateMessageWithAttachment4(ByVal server As String, ByVal [to] As String)
    ' Specify the file to be attached And sent.
    ' This example uses a file on a UNC share.
    Dim file As String = "\\share3\c$\reports\data.xls"
    Dim message As MailMessage = New MailMessage("ReportMailer@contoso.com", [to], "Quarterly data report", "See the attached spreadsheet.")
    ' Create  the file attachment for this email message.
    Dim data As Attachment = New Attachment("qtr3.xls", MediaTypeNames.Application.Octet)
    ' Add time stamp information for the file.
    Dim disposition As ContentDisposition = data.ContentDisposition
    disposition.CreationDate = System.IO.File.GetCreationTime(file)
    disposition.ModificationDate = System.IO.File.GetLastWriteTime(file)
    disposition.ReadDate = System.IO.File.GetLastAccessTime(file)
    disposition.DispositionType = DispositionTypeNames.Attachment
    ' Add the file attachment to this email message.
    message.Attachments.Add(data)
    'Send the message.
    Dim client As SmtpClient = New SmtpClient(server)
    ' Add credentials if the SMTP server requires them.
    client.Credentials = CType(CredentialCache.DefaultNetworkCredentials, ICredentialsByHost)
    client.Send(message)
    ' Display the message headers.
    Dim keys As String() = message.Headers.AllKeys
    Console.WriteLine("Headers")

    For Each s As String In keys
        Console.WriteLine("{0}:", s)
        Console.WriteLine("    {0}", message.Headers(s))
    Next

    data.Dispose()
End Sub

Comentarios

La Headers propiedad permite que una aplicación acceda a la colección de encabezados del mensaje. Aunque esta colección es de solo lectura (no se puede establecer una nueva colección), los encabezados personalizados se pueden agregar o eliminar de esta colección. Los encabezados personalizados agregados se incluirán cuando se envíe la MailMessage instancia. Antes de enviar un mensaje, solo los encabezados agregados específicamente a esta colección en la Headers propiedad se incluyen en la colección. Una vez enviada la MailMessage instancia, la Headers propiedad también incluirá encabezados que se establecen mediante las propiedades asociadas de la MailMessage clase o los parámetros pasados cuando MailMessage se usa un objeto para inicializar un MailMessage objeto.

Si algunos encabezados de correo tienen un formato incorrecto, podrían hacer que el mensaje de correo electrónico esté dañado. Por lo tanto, cualquier encabezado de correo de la colección de encabezados que se pueda establecer mediante una propiedad de la MailMessage clase solo debe establecerse mediante la MailMessage propiedad class o como parámetro pasado cuando MailMessage inicializa un MailMessage objeto. No se debe agregar la siguiente lista de encabezados de correo mediante la Headers propiedad y los valores establecidos para estos encabezados mediante la Headers propiedad se descartarán o sobrescribirán cuando se envíe el mensaje:

  • CCO

  • CC

  • Content-ID

  • Content-Location

  • Content-Transfer-Encoding

  • Content-Type

  • Date

  • Desde

  • Importancia

  • MIME-Version

  • Priority

  • Reply-To

  • Remitente

  • En

  • Prioridad X

Si la aplicación no especifica un encabezado X-Sender mediante la Headers propiedad , la MailMessage clase creará una cuando se envíe el mensaje.

El remitente, el destinatario, el asunto y el cuerpo de un mensaje de correo electrónico se pueden especificar como parámetros cuando se usa para MailMessage inicializar un MailMessage objeto. Estos parámetros también se pueden establecer o tener acceso a ellos mediante propiedades en el MailMessage objeto .

Los encabezados y elementos del mensaje de correo principal para el mensaje se pueden establecer mediante las siguientes propiedades de la MailMessage clase .

Encabezado o parte de correo Propiedad.
Datos adjuntos Attachments
Copias de carbono ciegas (CCO) Bcc
Copias de carbono (CC) CC
Content-Type BodyEncoding
Codificación para encabezados personalizados HeadersEncoding
Cuerpo del mensaje Body
Priority Priority
Recipient To
Reply-To ReplyToList
Remitente From
Asunto Subject

Se aplica a