Partage via


MailMessage.Headers Propriété

Définition

Obtient les en-têtes d’e-mails qui sont transmis avec cet e-mail.

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

Valeur de propriété

NameValueCollection qui contient les en-têtes d’e-mail.

Exemples

L’exemple de code suivant illustre l’affichage des en-têtes d’un message électronique.

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

Remarques

La Headers propriété permet à une application d’accéder à la collection d’en-têtes du message. Bien que cette collection soit en lecture seule (une nouvelle collection ne peut pas être définie), des en-têtes personnalisés peuvent être ajoutés ou supprimés de cette collection. Tous les en-têtes personnalisés ajoutés seront inclus lors de l’envoi du MailMessage instance. Avant l’envoi d’un message, seuls les en-têtes spécifiquement ajoutés à cette collection dans la Headers propriété sont inclus dans la collection. Une fois le MailMessage instance envoyé, la Headers propriété inclut également des en-têtes définis à l’aide des propriétés associées de la MailMessage classe ou des paramètres passés lorsqu’un MailMessage est utilisé pour initialiser un MailMessage objet.

Si certains en-têtes de courrier sont mal formés, ils peuvent endommager le message électronique. Ainsi, tout en-tête de courrier de la collection d’en-têtes qui peut être défini à l’aide d’une propriété sur la MailMessage classe ne doit être défini qu’à l’aide de la propriété de classe MailMessage ou en tant que paramètre passé lorsqu’un MailMessage initialise un MailMessage objet. La liste suivante d’en-têtes de courrier ne doit pas être ajoutée à l’aide de la Headers propriété et toutes les valeurs définies pour ces en-têtes à l’aide de la Headers propriété seront ignorées ou remplacées lors de l’envoi du message :

  • Cci

  • Cc

  • ID de contenu

  • Content-Location

  • Encodage de transfert de contenu

  • Content-Type

  • Date

  • À partir

  • Importance

  • MIME-Version

  • Priorité

  • Répondre à

  • Expéditeur

  • À

  • Priorité X

Si l’application ne spécifie pas d’en-tête X-Sender à l’aide de la Headers propriété, la MailMessage classe en crée un lorsque le message est envoyé.

L’expéditeur, le destinataire, l’objet et le corps d’un message électronique peuvent être spécifiés en tant que paramètres lorsqu’un MailMessage est utilisé pour initialiser un MailMessage objet. Ces paramètres peuvent également être définis ou accessibles à l’aide de propriétés sur l’objet MailMessage .

Les principaux en-têtes et éléments du message peuvent être définis à l’aide des propriétés suivantes de la MailMessage classe .

En-tête ou partie de courrier Propriété
Pièces jointes Attachments
Copies de carbone aveugles (BCC) Bcc
Copies carbone (CC) CC
Content-Type BodyEncoding
Encodage des en-têtes personnalisés HeadersEncoding
Corps du message Body
Priorité Priority
Recipient To
Répondre à ReplyToList
Expéditeur From
Objet Subject

S’applique à