MailMessage.Headers Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém os cabeçalhos de email que são transmitidos com essa mensagem de email.
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
Valor da propriedade
Um NameValueCollection que contém os cabeçalhos de email.
Exemplos
O exemplo de código a seguir demonstra a exibição dos cabeçalhos de uma mensagem de email.
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
Comentários
A Headers propriedade permite que um aplicativo acesse a coleção de cabeçalhos da mensagem. Embora essa coleção seja somente leitura (uma nova coleção não pode ser definida), cabeçalhos personalizados podem ser adicionados ou excluídos dessa coleção. Todos os cabeçalhos personalizados adicionados serão incluídos quando a MailMessage instância for enviada. Antes que uma mensagem seja enviada, somente cabeçalhos adicionados especificamente a essa coleção na Headers propriedade são incluídos na coleção. Depois que a MailMessage instância for enviada, a Headers propriedade também incluirá cabeçalhos que são definidos usando as propriedades associadas da MailMessage classe ou parâmetros passados quando um MailMessage é usado para inicializar um MailMessage objeto.
Se alguns cabeçalhos de email estiverem malformados, eles poderão fazer com que a mensagem de email fique corrompida. Portanto, qualquer cabeçalho de email na coleção de cabeçalhos que possa ser definido usando uma propriedade na MailMessage classe só deve ser definido usando a MailMessage propriedade de classe ou como um parâmetro passado quando um MailMessage inicializa um MailMessage objeto. A seguinte lista de cabeçalhos de email não deve ser adicionada usando a propriedade e todos os Headers valores definidos para esses cabeçalhos usando a Headers propriedade serão descartados ou substituídos quando a mensagem for enviada:
Cco
Cc
ID de conteúdo
Local do conteúdo
Codificação de transferência de conteúdo
Tipo de conteúdo
Data
De
Importância
MIME-Version
Prioridade
Reply-To
Remetente
Para
Prioridade X
Se o aplicativo não especificar um cabeçalho X-Sender usando a Headers propriedade , a MailMessage classe criará um quando a mensagem for enviada.
O remetente, o destinatário, o assunto e o corpo de uma mensagem de email podem ser especificados como parâmetros quando um MailMessage é usado para inicializar um MailMessage objeto. Esses parâmetros também podem ser definidos ou acessados usando propriedades no MailMessage objeto .
Os cabeçalhos e elementos de mensagem de email primários para a mensagem podem ser definidos usando as propriedades a seguir da MailMessage classe .
Cabeçalho ou parte do email | Propriedade |
---|---|
Anexos | Attachments |
Cópias de carbono cegas (CCO) | Bcc |
Cópias de carbono (CC) | CC |
Tipo de conteúdo | BodyEncoding |
Codificação para cabeçalhos personalizados | HeadersEncoding |
Corpo da mensagem | Body |
Prioridade | Priority |
Destinatário | To |
Reply-To | ReplyToList |
Remetente | From |
Assunto | Subject |