MailMessage.Headers Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene los encabezados de correo electrónico que se transmiten con este mensaje de correo electrónico.
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 de propiedad
que NameValueCollection contiene los encabezados de correo electrónico.
Ejemplos
En el ejemplo de código siguiente se muestra la visualización de los encabezados de un mensaje de correo.
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
Comentarios
La Headers propiedad permite que una aplicación tenga acceso a la colección de encabezados del mensaje. Aunque esta colección es de solo lectura (no se puede establecer una nueva colección), los encabezados personalizados se pueden agregar o eliminar de esta colección. Los encabezados personalizados agregados se incluirán cuando se envíe la MailMessage instancia. Antes de enviar un mensaje, solo se incluyen en la colección los encabezados agregados específicamente a esta colección en la Headers propiedad . Una vez enviada la MailMessage instancia, la Headers propiedad también incluirá encabezados que se establecen mediante las propiedades asociadas de la MailMessage clase o los parámetros pasados cuando MailMessage se usa para inicializar un MailMessage objeto.
Si algunos encabezados de correo tienen un formato incorrecto, podrían provocar que el mensaje de correo electrónico se dañara. Por lo tanto, cualquier encabezado de correo de la colección de encabezados que se pueda establecer mediante una propiedad en la MailMessage clase solo debe establecerse mediante la MailMessage propiedad class o como parámetro pasado cuando inicializa MailMessage un MailMessage objeto . La siguiente lista de encabezados de correo no se debe agregar mediante la Headers propiedad y los valores establecidos para estos encabezados mediante la Headers propiedad se descartarán o sobrescribirán cuando se envíe el mensaje:
CCO
CC
Content-ID
Content-Location
Codificación de transferencia de contenido
Content-Type
Date
Desde
Importancia
MIME-Version
Priority
Reply-To
Remitente
En
Prioridad X
Si la aplicación no especifica un encabezado X-Sender mediante la Headers propiedad , la MailMessage clase creará una cuando se envíe el mensaje.
El remitente, el destinatario, el asunto y el cuerpo de un mensaje de correo electrónico se pueden especificar como parámetros cuando se usa para MailMessage inicializar un MailMessage objeto. Estos parámetros también se pueden establecer o tener acceso a ellos mediante propiedades en el MailMessage objeto .
Los encabezados y elementos principales del mensaje de correo pueden establecerse con las siguientes propiedades de la MailMessage clase .
Encabezado o parte de correo | Propiedad. |
---|---|
Datos adjuntos | Attachments |
Copias de carbono ciegas (CCO) | Bcc |
Copias de carbono (CC) | CC |
Content-Type | BodyEncoding |
Codificación para encabezados personalizados | HeadersEncoding |
Cuerpo del mensaje | Body |
Priority | Priority |
Recipient | To |
Reply-To | ReplyToList |
Remitente | From |
Asunto | Subject |