ContentType Constructors

Definition

Initializes a new instance of the ContentType class.

Overloads

ContentType()

Initializes a new default instance of the ContentType class.

ContentType(String)

Initializes a new instance of the ContentType class using the specified string.

ContentType()

Initializes a new default instance of the ContentType class.

public:
 ContentType();
public ContentType ();
Public Sub New ()

Examples

The following code example demonstrates how to call this constructor.

// The following example sends a summary of a log file as the message
// and the log as an email attachment.
static void SendNamedErrorLog( String^ server, String^ recipientList )
{
   
   // Create a message from logMailer@contoso.com to recipientList.
   MailMessage^ message = gcnew MailMessage( L"logMailer@contoso.com",recipientList );
   message->Subject = L"Error Log report";
   String^ fileName = L"log.txt";
   
   // Get the file stream for the error log.
   // Requires the System.IO namespace.
   FileStream^ fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
   StreamReader^ s = gcnew StreamReader( fs );
   int errors = 0;
   while ( s->ReadLine() != nullptr )
   {
      
      // Process each line from the log file here.
      errors++;
   }

   message->Body = String::Format( L"{0} errors in log as of {1}", errors, DateTime::Now );
   
   // Close the stream reader. This also closes the file.
   s->Close();
   
   // Re-open the file at the beginning to make the attachment.
   fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
   
   // Make a ContentType indicating that the log data
   // that is attached is plain text and is named.
   ContentType^ ct = gcnew ContentType;
   ct->MediaType = MediaTypeNames::Text::Plain;
   ct->Name = String::Format( L"log{0}.txt", DateTime::Now );
   
   // Create the attachment.
   Attachment^ data = gcnew Attachment( fs,ct );
   
   // Add the attachment to the message.
   message->Attachments->Add( data );
   
   // Send the message.
   // Include credentials if the server requires them.
   SmtpClient^ client = gcnew SmtpClient( server );
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   data->~Attachment();
   client->~SmtpClient();
   
   // Close the log file.
   fs->Close();
   return;
}


// The following example sends a summary of a log file as the message
// and the log as an email attachment.
public static void SendNamedErrorLog(string server, string recipientList)
{
    // Create a message from logMailer@contoso.com to recipientList.
    MailMessage message = new MailMessage(
       "logMailer@contoso.com", recipientList);

    message.Subject = "Error Log report";
    string fileName = "log.txt";
    // Get the file stream for the error log.
    // Requires the System.IO namespace.
    FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    StreamReader s = new StreamReader(fs);
    int errors = 0;
    while (s.ReadLine() != null)
    {
        // Process each line from the log file here.
        errors++;
    }
    // The email message summarizes the data found in the log.
    message.Body = String.Format("{0} errors in log as of {1}",
        errors, DateTime.Now);
    // Close the stream reader. This also closes the file.
    s.Close();
    // Re-open the file at the beginning to make the attachment.
    fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    // Make a ContentType indicating that the log data
    // that is attached is plain text and is named.
    ContentType ct = new ContentType();
    ct.MediaType = MediaTypeNames.Text.Plain;
    ct.Name = "log" + DateTime.Now.ToString() + ".txt";
    // Create the attachment.
    Attachment data = new Attachment(fs, ct);
    // Add the attachment to the message.
    message.Attachments.Add(data);
    // Send the message.
    // Include credentials if the server requires them.
    SmtpClient client = new SmtpClient(server);
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in SendNamedErrorLog: {0}", 
            ex.ToString());
    }
    data.Dispose();
    // Close the log file.
    fs.Close();
    return;
}

Remarks

This constructor initializes the MediaType property to "application/octet-stream".

ContentType(String)

Initializes a new instance of the ContentType class using the specified string.

public:
 ContentType(System::String ^ contentType);
public ContentType (string contentType);
new System.Net.Mime.ContentType : string -> System.Net.Mime.ContentType
Public Sub New (contentType As String)

Parameters

contentType
String

A String, for example, "text/plain; charset=us-ascii", that contains the MIME media type, subtype, and optional parameters.

Exceptions

contentType is null.

contentType is Empty ("").

contentType is in a form that cannot be parsed.

Examples

The following code example demonstrates how to call this constructor.

// The following example sends a summary of a log file as the message
// and the log as an email attachment.
static void SendNamedErrorLog( String^ server, String^ recipientList )
{
   
   // Create a message from logMailer@contoso.com to recipientList.
   MailMessage^ message = gcnew MailMessage( L"logMailer@contoso.com",recipientList );
   message->Subject = L"Error Log report";
   String^ fileName = L"log.txt";
   
   // Get the file stream for the error log.
   // Requires the System.IO namespace.
   FileStream^ fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
   StreamReader^ s = gcnew StreamReader( fs );
   int errors = 0;
   while ( s->ReadLine() != nullptr )
   {
      
      // Process each line from the log file here.
      errors++;
   }

   message->Body = String::Format( L"{0} errors in log as of {1}", errors, DateTime::Now );
   
   // Close the stream reader. This also closes the file.
   s->Close();
   
   // Re-open the file at the beginning to make the attachment.
   fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
   
   // Make a ContentType indicating that the log data
   // that is attached is plain text and is named.
   ContentType^ ct = gcnew ContentType;
   ct->MediaType = MediaTypeNames::Text::Plain;
   ct->Name = String::Format( L"log{0}.txt", DateTime::Now );
   
   // Create the attachment.
   Attachment^ data = gcnew Attachment( fs,ct );
   
   // Add the attachment to the message.
   message->Attachments->Add( data );
   
   // Send the message.
   // Include credentials if the server requires them.
   SmtpClient^ client = gcnew SmtpClient( server );
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   data->~Attachment();
   client->~SmtpClient();
   
   // Close the log file.
   fs->Close();
   return;
}


// The following example sends a summary of a log file as the message
// and the log as an email attachment.
public static void SendNamedErrorLog(string server, string recipientList)
{
    // Create a message from logMailer@contoso.com to recipientList.
    MailMessage message = new MailMessage(
       "logMailer@contoso.com", recipientList);

    message.Subject = "Error Log report";
    string fileName = "log.txt";
    // Get the file stream for the error log.
    // Requires the System.IO namespace.
    FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    StreamReader s = new StreamReader(fs);
    int errors = 0;
    while (s.ReadLine() != null)
    {
        // Process each line from the log file here.
        errors++;
    }
    // The email message summarizes the data found in the log.
    message.Body = String.Format("{0} errors in log as of {1}",
        errors, DateTime.Now);
    // Close the stream reader. This also closes the file.
    s.Close();
    // Re-open the file at the beginning to make the attachment.
    fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    // Make a ContentType indicating that the log data
    // that is attached is plain text and is named.
    ContentType ct = new ContentType();
    ct.MediaType = MediaTypeNames.Text.Plain;
    ct.Name = "log" + DateTime.Now.ToString() + ".txt";
    // Create the attachment.
    Attachment data = new Attachment(fs, ct);
    // Add the attachment to the message.
    message.Attachments.Add(data);
    // Send the message.
    // Include credentials if the server requires them.
    SmtpClient client = new SmtpClient(server);
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in SendNamedErrorLog: {0}", 
            ex.ToString());
    }
    data.Dispose();
    // Close the log file.
    fs.Close();
    return;
}

Remarks

The syntax of the contentType string is described in RFC 2045 Section 5.1 available at https://www.ietf.org.

Applies to