Actualización: noviembre 2007
Representa un encabezado Content-Type de protocolo MIME.
Espacio de nombres:
System.Net.Mime
Ensamblado:
System (en System.dll)
Visual Basic (Declaración)
Dim instance As ContentType
public ref class ContentType
La información de la clase ContentType se utiliza para describir los datos incluidos en un mensaje de correo electrónico de modo que el software que se encarga de mostrar el correo electrónico pueda presentar el contenido de forma adecuada. La clase ContentType se utiliza con la clase Attachment para especificar el tipo de contenido de los datos adjuntos.
La sintaxis del encabezado Content-Type se describe en la sección 5.1 del documento RFC 2045. El documento RFC 2046 proporciona información detallada sobre los tipos de medio MIME y sus parámetros. Estos documentos RFC están disponibles en http://www.ietf.org.
En el siguiente ejemplo de código se envía un mensaje de correo electrónico con datos adjuntos y se muestran las propiedades ContentDisposition de los datos adjuntos.
public static void CreateMessageWithAttachment(string server)
{
// Specify the file to be attached and sent.
// This example assumes that a file named Data.xls exists in the
// current working directory.
string file = "data.xls";
// Create a message and set up the recipients.
MailMessage message = new MailMessage(
"jane@contoso.com",
"ben@contoso.com",
"Quarterly data report.",
"See the attached spreadsheet.");
// Create the file attachment for this e-mail message.
Attachment data = new Attachment(file, 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);
// Add the file attachment to this e-mail message.
message.Attachments.Add(data);
//Send the message.
SmtpClient client = new SmtpClient(server);
// Add credentials if the SMTP server requires them.
client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.Send(message);
// Display the values in the ContentDisposition for the attachment.
ContentDisposition cd = data.ContentDisposition;
Console.WriteLine("Content disposition");
Console.WriteLine(cd.ToString());
Console.WriteLine("File {0}", cd.FileName);
Console.WriteLine("Size {0}", cd.Size);
Console.WriteLine("Creation {0}", cd.CreationDate);
Console.WriteLine("Modification {0}", cd.ModificationDate);
Console.WriteLine("Read {0}", cd.ReadDate);
Console.WriteLine("Inline {0}", cd.Inline);
Console.WriteLine("Parameters: {0}", cd.Parameters.Count);
foreach (DictionaryEntry d in cd.Parameters)
{
Console.WriteLine("{0} = {1}", d.Key, d.Value);
}
data.Dispose();
}
static void CreateMessageWithAttachment( String^ server )
{
// Specify the file to be attached and sent.
// This example assumes that a file named Data.xls exists in the
// current working directory.
String^ file = L"data.xls";
// Create a message and set up the recipients.
MailMessage^ message = gcnew MailMessage( L"jane@contoso.com",L"ben@contoso.com",L"Quarterly data report.",L"See the attached spreadsheet." );
// Create the file attachment for this e-mail message.
Attachment^ data = gcnew Attachment(file, 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 );
// Add the file attachment to this e-mail message.
message->Attachments->Add( data );
//Send the message.
SmtpClient^ client = gcnew SmtpClient( server );
// Add credentials if the SMTP server requires them.
client->Credentials = CredentialCache::DefaultNetworkCredentials;
client->Send( message );
// Display the values in the ContentDisposition for the attachment.
ContentDisposition^ cd = data->ContentDisposition;
Console::WriteLine( L"Content disposition" );
Console::WriteLine( cd );
Console::WriteLine( L"File {0}", cd->FileName );
Console::WriteLine( L"Size {0}", cd->Size );
Console::WriteLine( L"Creation {0}", cd->CreationDate );
Console::WriteLine( L"Modification {0}", cd->ModificationDate );
Console::WriteLine( L"Read {0}", cd->ReadDate );
Console::WriteLine( L"Inline {0}", cd->Inline );
Console::WriteLine( L"Parameters: {0}", cd->Parameters->Count );
IEnumerator^ myEnum1 = cd->Parameters->GetEnumerator();
while ( myEnum1->MoveNext() )
{
DictionaryEntry^ d = safe_cast<DictionaryEntry^>(myEnum1->Current);
Console::WriteLine( L"{0} = {1}", d->Key, d->Value );
}
data->~Attachment();
client->~SmtpClient();
}
public static void CreateMessageWithAttachment(String server)
{
// Specify the file to be attached and sent.
// This example assumes that a file named Data.xls exists in the
// current working directory.
String file = "data.xls";
// Create a message and set up the recipients.
MailMessage message = new MailMessage("jane@contoso.com",
"ben@contoso.com", "Quarterly data report.",
"See the attached spreadsheet.");
// Create the file attachment for this e-mail message.
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
// Add time stamp information for the file.
ContentDisposition disposition = data.get_ContentDisposition();
disposition.set_CreationDate(System.IO.File.GetCreationTime(file));
disposition.set_ModificationDate(System.IO.File.GetLastWriteTime(file));
disposition.set_ReadDate(System.IO.File.GetLastAccessTime(file));
// Add the file attachment to this e-mail message.
message.get_Attachments().Add(data);
//Send the message.
SmtpClient client = new SmtpClient(server);
// Add credentials if the SMTP server requires them.
client.set_Credentials(CredentialCache.get_DefaultNetworkCredentials());
client.Send(message);
// Display the values in the ContentDisposition for the attachment.
ContentDisposition cd = data.get_ContentDisposition();
Console.WriteLine("Content disposition");
Console.WriteLine(cd.ToString());
Console.WriteLine("File {0}", cd.get_FileName());
Console.WriteLine("Size {0}", System.Convert.ToString(cd.get_Size()));
Console.WriteLine("Creation {0}", cd.get_CreationDate());
Console.WriteLine("Modification {0}", cd.get_ModificationDate());
Console.WriteLine("Read {0}", cd.get_ReadDate());
Console.WriteLine("Inline {0}",
System.Convert.ToString(cd.get_Inline()));
Console.WriteLine("Parameters: {0}",
System.Convert.ToString(cd.get_Parameters().get_Count()));
IEnumerator myEnumerable = (IEnumerator)cd.get_Parameters().
GetEnumerator();
while (myEnumerable.MoveNext()) {
DictionaryEntry d = (DictionaryEntry)myEnumerable.get_Current();
Console.WriteLine("{0} = {1}", d.get_Key(), d.get_Value());
}
data.Dispose();
} //CreateMessageWithAttachment
System..::.Object
System.Net.Mime..::.ContentType
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
.NET Framework
Compatible con: 3.5, 3.0, 2.0
Referencia