MailMessage.Headers Propriedade

Definição

Obtém os cabeçalhos de email que são transmitidos com essa 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

NameValueCollection

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.

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

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 de uma mensagem ser enviada, somente 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 inicializa 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:

  • Cco

  • Cc

  • ID de conteúdo

  • Local do conteúdo

  • Codificação de transferência de conteúdo

  • Tipo de conteúdo

  • Data

  • De

  • Importância

  • MIME-Version

  • Prioridade

  • Reply-To

  • Remetente

  • Para

  • Prioridade X

Se o aplicativo não especificar um cabeçalho X-Sender usando a Headers propriedade, a MailMessage classe criará uma 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 de mensagem de email primário e os elementos da mensagem podem ser definidos usando as propriedades a seguir da MailMessage classe.

Cabeçalho ou parte do email Propriedade
Anexos Attachments
Cópias cegas de carbono (BCC) 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
Destinatário To
Reply-To ReplyToList
Remetente From
Assunto Subject

Aplica-se a