ContentType Class
Represents a MIME protocol Content-Type header.
Assembly: System (in System.dll)
The information in the ContentType class is used to describe the data contained in an e-mail message in such a way that software that displays e-mail can present the content in an appropriate manner. ContentType is used with the Attachment class to specify the type of content in the attachment.
The syntax of the Content-Type header is described in RFC 2045 Section 5.1. RFC 2046 provides detailed information about MIME media types and their parameters. These RFCs are available at http://www.ietf.org.
The following code example sends an e-mail message with an attachment and displays the ContentDisposition properties for the attachment.
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 = S"data.xls";
// Create a message and set up the recipients.
MailMessage* message = new MailMessage(
S"jane@contoso.com",
S"ben@contoso.com",
S"Quarterly data report.",
S"See the attached spreadsheet.");
// Create the file attachment for this e-mail message.
Attachment* data = new Attachment();
data->SetContentFromFile(file, 0, 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(S"Content disposition");
Console::WriteLine(cd);
Console::WriteLine(S"File {0}",cd->FileName);
Console::WriteLine(S"Size {0}", __box(cd->Size));
Console::WriteLine(S"Creation {0}", __box(cd->CreationDate));
Console::WriteLine(S"Modification {0}", __box(cd->ModificationDate));
Console::WriteLine(S"Read {0}", __box(cd->ReadDate));
Console::WriteLine(S"Inline {0}", __box(cd->Inline));
Console::WriteLine(S"Parameters: {0}", __box(cd->Parameters->Count));
IEnumerator* myEnum1 = cd->Parameters->GetEnumerator();
while (myEnum1->MoveNext())
{
DictionaryEntry* d = __try_cast<DictionaryEntry*>(myEnum1->Current);
Console::WriteLine(S"{0} = {1}", d->Key, d->Value);
}
data->Dispose();
client->Dispose();
}
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.