Condividi tramite


MailMessage.Headers Proprietà

Definizione

Ottiene le intestazioni di posta elettronica trasmesse con questo messaggio di posta elettronica.

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

Valore della proprietà

Oggetto NameValueCollection contenente le intestazioni di posta elettronica.

Esempio

Nell'esempio di codice seguente viene illustrata la visualizzazione delle intestazioni per un messaggio di posta elettronica.

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

Commenti

La Headers proprietà consente a un'applicazione di accedere all'insieme di intestazioni per il messaggio. Anche se questa raccolta è di sola lettura (non è possibile impostare una nuova raccolta), è possibile aggiungere o eliminare intestazioni personalizzate da questa raccolta. Tutte le intestazioni personalizzate aggiunte verranno incluse quando l'istanza MailMessage viene inviata. Prima dell'invio di un messaggio, solo le intestazioni aggiunte specificamente a questa raccolta nella Headers proprietà vengono incluse nella raccolta. Dopo l'invio dell'istanza MailMessage , la Headers proprietà includerà anche le intestazioni impostate utilizzando le proprietà associate della MailMessage classe o dei parametri passati quando un MailMessage oggetto viene utilizzato per inizializzare un MailMessage oggetto .

Se alcune intestazioni di posta sono in formato non valido, potrebbero causare il danneggiamento del messaggio di posta elettronica. Pertanto, qualsiasi intestazione di posta nell'insieme di intestazioni che può essere impostata utilizzando una proprietà della MailMessage classe deve essere impostata solo utilizzando la proprietà della MailMessage classe o come parametro passato quando un MailMessageMailMessage oggetto viene inizializzato. L'elenco seguente di intestazioni di posta non deve essere aggiunto utilizzando la Headers proprietà ed eventuali valori impostati per queste intestazioni tramite la Headers proprietà verranno eliminati o sovrascritti quando il messaggio viene inviato:

  • Ccn

  • Cc

  • ID contenuto

  • Content-Location

  • Contenuto-Transfer-Encoding

  • Tipo di contenuto

  • Date

  • Da

  • Importanza

  • MIME-Version

  • Priorità

  • Rispondi a

  • Mittente

  • Per

  • Priorità X

Se l'applicazione non specifica un'intestazione X-Sender usando la Headers proprietà , la MailMessage classe ne creerà una quando viene inviato il messaggio.

Il mittente, il destinatario, l'oggetto e il corpo di un messaggio di posta elettronica possono essere specificati come parametri quando un MailMessage oggetto viene usato per inizializzare un MailMessage oggetto. Questi parametri possono anche essere impostati o accessibili usando le proprietà dell'oggetto MailMessage .

Le intestazioni e gli elementi del messaggio di posta elettronica primari per il messaggio possono essere impostati utilizzando le proprietà seguenti della MailMessage classe .

Intestazione o parte di posta elettronica Proprietà
Allegati Attachments
Copie in carbonio cieco (BCC) Bcc
Copie in carbonio (CC) CC
Tipo di contenuto BodyEncoding
Codifica per le intestazioni personalizzate HeadersEncoding
Corpo del messaggio Body
Priorità Priority
Destinatario To
Rispondi a ReplyToList
Mittente From
Argomento Subject

Si applica a