MailMessage.Headers Propriedade

Definição

Recebe os cabeçalhos de email que são transmitidos com esta mensagem.

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 Propriedade

A NameValueCollection que contém os cabeçalhos do email.

Exemplos

O exemplo de código seguinte demonstra a exibição dos cabeçalhos de uma mensagem de correio.

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

Observações

A Headers propriedade permite que uma aplicação aceda à coleção de cabeçalhos da mensagem. Embora esta coleção seja apenas leitura (uma nova coleção não pode ser definida), cabeçalhos personalizados podem ser adicionados ou eliminados desta coleção. Quaisquer cabeçalhos personalizados adicionados serão incluídos quando a MailMessage instância for enviada. Antes de uma mensagem ser enviada, apenas os cabeçalhos especificamente adicionados a esta coleção na Headers propriedade são incluídos na coleção. Depois de a MailMessage instância ser enviada, a Headers propriedade também incluirá cabeçalhos que são definidos usando as propriedades associadas da MailMessage classe ou parâmetros passados quando a MailMessage é usado para inicializar um MailMessage objeto.

Se alguns cabeçalhos de email estiverem malformados, podem causar corrompimento da mensagem. Assim, qualquer cabeçalho de email na coleção de cabeçalhos que possa ser definido usando uma propriedade na MailMessage classe só deve ser definido usando a MailMessage propriedade de classe ou como parâmetro passado quando inicializa MailMessage um MailMessage objeto. A seguinte lista de cabeçalhos de email não deve ser adicionada usando a Headers propriedade e quaisquer valores definidos para estes cabeçalhos usando a Headers propriedade serão descartados ou sobrescritos quando a mensagem for enviada:

  • Cco

  • Cc

  • Content-ID

  • Localização do Conteúdo

  • Codificação de Transferência de Conteúdo

  • Tipo de Conteúdo

  • Data

  • De

  • Importância

  • MIME-Version

  • Prioridade

  • Responder A

  • Remetente

  • Para

  • Prioridade X

Se a aplicação não especificar um cabeçalho X-Sender usando a Headers propriedade, a MailMessage classe criará um quando a mensagem for enviada.

O remetente, destinatário, assunto e corpo de uma mensagem de email podem ser especificados como parâmetros quando a MailMessage é usado para inicializar um MailMessage objeto. Estes parâmetros também podem ser definidos ou acedidos usando propriedades no MailMessage objeto.

Os cabeçalhos e elementos primários das mensagens de correio podem ser definidos usando as seguintes propriedades da MailMessage classe.

Cabeçalho ou parte do correio Property
Attachments Attachments
Cópias cegas (BCC) Bcc
Cópias carbono (CC) CC
Tipo de Conteúdo BodyEncoding
Codificação para cabeçalhos personalizados HeadersEncoding
Corpo da mensagem Body
Prioridade Priority
Recipient To
Responder A ReplyToList
Remetente From
Subject Subject

Aplica-se a