ContentDisposition::DispositionType Property

 

Gets or sets the disposition type for an e-mail attachment.

Namespace:   System.Net.Mime
Assembly:  System (in System.dll)

public:
property String^ DispositionType {
	String^ get();
	void set(String^ value);
}

Property Value

Type: System::String^

A String that contains the disposition type. The value is not restricted but is typically one of the DispositionType values.

Exception Condition
ArgumentNullException

The value specified for a set operation is null.

ArgumentException

The value specified for a set operation is equal to String::Empty ("").

The DispositionType property value can be used by software that displays e-mail to determine the correct way to present the e-mail attachments. Inline attachments are usually displayed when the user opens the e-mail. Attachment attachments are usually not opened until the user performs some action, such as clicking an icon that represents the attachment.

The Content-Disposition header is described in RFC 2183 available at http://www.ietf.org.

The following code example demonstrates how to set the value of this property.

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 e-mail 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 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 = 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();
}


.NET Framework
Available since 2.0
Return to top
Show: