MailMessage.Headers Proprietà

Definizione

Ottiene le intestazioni del messaggio 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.

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

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, nell'insieme Headers vengono incluse solo le intestazioni aggiunte in modo specifico a questa raccolta. Dopo l'invio dell'istanza MailMessage , la Headers proprietà includerà anche le intestazioni impostate usando le proprietà associate della MailMessage classe o dei parametri passati quando viene utilizzato un MailMessage oggetto 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à nella MailMessage classe deve essere impostata solo usando la MailMessage proprietà della classe o come parametro passato quando un MailMessage oggetto inizializza un MailMessage oggetto . L'elenco seguente di intestazioni di posta elettronica non deve essere aggiunto utilizzando la Headers proprietà e tutti i valori impostati per queste intestazioni utilizzando la Headers proprietà verranno eliminati o sovrascritti quando il messaggio viene inviato:

  • Bcc

  • Cc

  • CONTENT-ID

  • Content-Location

  • Content-Transfer-Encoding

  • Content-Type

  • Data

  • Da

  • Importanza

  • MIME-Version

  • Priorità

  • Reply-To

  • Mittente

  • A

  • 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. È anche possibile impostare o accedere a questi parametri 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
Content-Type BodyEncoding
Codifica per intestazioni personalizzate HeadersEncoding
Corpo del messaggio Body
Priorità Priority
Recipient To
Reply-To ReplyToList
Mittente From
Subject Subject

Si applica a