MailMessage.Headers Eigenschaft

Definition

Ruft die E-Mail-Header ab, die mit dieser E-Mail übertragen werden.

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

Eigenschaftswert

Ein NameValueCollection , der die E-Mail-Kopfzeilen enthält.

Beispiele

Im folgenden Codebeispiel wird die Anzeige der Kopfzeilen für eine E-Mail-Nachricht veranschaulicht.

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

Hinweise

Die Headers -Eigenschaft ermöglicht einer Anwendung den Zugriff auf die Headerauflistung für die Nachricht. Obwohl diese Auflistung schreibgeschützt ist (eine neue Auflistung kann nicht festgelegt werden), können dieser Auflistung benutzerdefinierte Header hinzugefügt oder daraus gelöscht werden. Alle hinzugefügten benutzerdefinierten Header werden beim Senden der MailMessage Instanz eingeschlossen. Bevor eine Nachricht gesendet wird, werden nur Header, die speziell zu dieser Auflistung in der Headers -Eigenschaft hinzugefügt wurden, in die Auflistung aufgenommen. Nachdem die MailMessage -Instanz gesendet wurde, enthält die -Eigenschaft auch Header, die Headers mithilfe der zugeordneten Eigenschaften der Klasse oder der Parameter festgelegt werden, die MailMessage übergeben werden, wenn ein MailMessage zum Initialisieren eines MailMessage -Objekts verwendet wird.

Wenn einige E-Mail-Header falsch formatiert sind, können sie dazu führen, dass die E-Mail-Nachricht beschädigt wird. Daher sollte jeder E-Mail-Header in der Headerauflistung, der mithilfe einer Eigenschaft für die MailMessage Klasse festgelegt werden kann, nur mit der MailMessage Klasseneigenschaft oder als Parameter festgelegt werden, der übergeben wird, wenn ein MailMessageMailMessage -Objekt initialisiert. Die folgende Liste der E-Mail-Header sollte nicht mithilfe der -Eigenschaft hinzugefügt werden, und alle Werte, die Headers für diese Header mithilfe der Headers -Eigenschaft festgelegt werden, werden verworfen oder überschrieben, wenn die Nachricht gesendet wird:

  • Bcc

  • Cc

  • Inhalts-ID

  • Content-Location

  • Content-Transfer-Encoding

  • Content-Type

  • Datum

  • From

  • Wichtigkeit

  • MIME-Version

  • Priorität

  • Antwort an

  • Sender

  • An

  • X-Priorität

Wenn die Anwendung keinen X-Sender-Header mithilfe der Headers -Eigenschaft angibt, erstellt die MailMessage -Klasse einen, wenn die Nachricht gesendet wird.

Absender, Empfänger, Betreff und Text einer E-Mail-Nachricht können als Parameter angegeben werden, wenn ein MailMessage zum Initialisieren eines MailMessage -Objekts verwendet wird. Diese Parameter können auch mithilfe von Eigenschaften für das MailMessage -Objekt festgelegt oder darauf zugegriffen werden.

Die Header und Elemente der primären E-Mail-Nachricht für die Nachricht können mithilfe der folgenden Eigenschaften der MailMessage -Klasse festgelegt werden.

E-Mail-Kopfzeile oder -Teil Eigenschaft
Attachments Attachments
Blinde Kohlenstoffkopien (BCC) Bcc
Carbon Copies (CC) CC
Content-Type BodyEncoding
Codierung für benutzerdefinierte Header HeadersEncoding
Nachrichtentext Body
Priorität Priority
Recipient To
Antwort an ReplyToList
Sender From
Subject Subject

Gilt für: