Freigeben über


MailMessage.Headers Eigenschaft

Definition

Ruft die E-Mail-Kopfzeilen ab, die mit dieser E-Mail-Nachricht ü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

A NameValueCollection , das die E-Mail-Kopfzeilen enthält.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Kopfzeilen für eine E-Mail-Nachricht angezeigt werden.

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. Diese Auflistung ist zwar schreibgeschützt (eine neue Auflistung kann nicht festgelegt werden), aber benutzerdefinierte Kopfzeilen können dieser Auflistung hinzugefügt oder daraus gelöscht werden. Alle hinzugefügten benutzerdefinierten Header werden einbezogen, wenn die MailMessage Instanz gesendet wird. Bevor eine Nachricht gesendet wird, werden nur Kopfzeilen, die dieser Auflistung in der Eigenschaft spezifisch hinzugefügt werden, in der Headers Auflistung enthalten. Nachdem die MailMessage Instanz gesendet wurde, enthält die Headers Eigenschaft auch Kopfzeilen, die mithilfe der zugeordneten Eigenschaften der MailMessage Klasse oder parameter festgelegt werden, die übergeben werden, wenn ein MailMessage Objekt initialisiert MailMessage wird.

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

  • Bcc

  • Cc

  • Inhalts-ID

  • Inhaltsspeicherort

  • Inhalt–Transfer-Encoding

  • Inhaltstyp

  • Datum

  • Von

  • Wichtigkeit

  • MIME-Version

  • Priorität

  • Antwort an

  • Absender

  • To

  • X-Priorität

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

Der Absender, der Empfänger, der Betreff und der Textkörper einer E-Mail-Nachricht können als Parameter angegeben werden, wenn ein MailMessageMailMessage Objekt initialisiert wird. Auf diese Parameter kann auch mithilfe von Eigenschaften für das MailMessage Objekt zugegriffen werden.

Die primären Nachrichtenkopfzeilen und -elemente für die Nachricht können mithilfe der folgenden Eigenschaften der MailMessage Klasse festgelegt werden.

E-Mail-Kopfzeile oder -teil Eigentum
Attachments Attachments
Blindkopien (BCC) Bcc
Kopien (CC) CC
Inhaltstyp BodyEncoding
Codierung für benutzerdefinierte Kopfzeilen HeadersEncoding
Nachrichtentext Body
Priorität Priority
Recipient To
Antwort an ReplyToList
Absender From
Betreff Subject

Gilt für: