Compartilhar via


MailMessage.Headers Propriedade

Definição

Obtém os cabeçalhos de email que são transmitidos com esta mensagem de email.

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 da propriedade

Um NameValueCollection que contém os cabeçalhos de email.

Exemplos

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

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

Comentários

A Headers propriedade permite que um aplicativo acesse a coleção de cabeçalhos da mensagem. Embora essa coleção seja somente leitura (uma nova coleção não pode ser definida), cabeçalhos personalizados podem ser adicionados ou excluídos dessa coleção. Todos os cabeçalhos personalizados adicionados serão incluídos quando a MailMessage instância for enviada. Antes que uma mensagem seja enviada, somente os cabeçalhos adicionados especificamente a essa coleção na Headers propriedade são incluídos na coleção. Depois que a MailMessage instância for 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 um MailMessage é usado para inicializar um MailMessage objeto.

Se alguns cabeçalhos de email estiverem malformados, eles poderão fazer com que a mensagem de email fique corrompida. Portanto, 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 propriedade de MailMessage classe ou como um parâmetro passado quando um MailMessage objeto é inicializado MailMessage . A lista a seguir de cabeçalhos de email não deve ser adicionada usando a Headers propriedade e quaisquer valores definidos para esses cabeçalhos usando a Headers propriedade serão descartados ou substituídos quando a mensagem for enviada:

  • Bcc

  • Cc

  • ID de conteúdo

  • Local de 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 o aplicativo não especificar um cabeçalho X-Sender usando a Headers propriedade, a MailMessage classe criará um quando a mensagem for enviada.

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

Os cabeçalhos e elementos da mensagem de email primário para a mensagem podem ser definidos usando as propriedades a seguir da MailMessage classe.

Cabeçalho ou parte do email Propriedade
Anexos Attachments
Cópias de carbono cegas (CCO) Bcc
Cópias de 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
Assunto Subject

Aplica-se a