ContentDisposition.FileName ContentDisposition.FileName ContentDisposition.FileName ContentDisposition.FileName Property


Gets or sets the suggested file name for an email attachment.

 property System::String ^ FileName { System::String ^ get(); void set(System::String ^ value); };
public string FileName { get; set; }
member this.FileName : string with get, set
Public Property FileName As String

Property Value

A String that contains the file name.


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

static void CreateMessageAttachment1( String^ server, String^ textMessage )
   // Create a message and set up the recipients.
   MailMessage^ message = gcnew MailMessage( L"",L"",L"A text message for you.",L"Message: " );
   // Attach the message string to this email message.
   Attachment^ data = gcnew Attachment( textMessage,MediaTypeNames::Text::Plain );
   ContentDisposition^ disposition = data->ContentDisposition;
   // Suggest a file name for the attachment.
   disposition->FileName = String::Format( L"message{0}", DateTime::Now );
   message->Attachments->Add( data );
   //Send the message.
   SmtpClient^ client = gcnew SmtpClient( server );
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   // Display the values in the ContentDisposition for the attachment.
   Console::WriteLine( L"Content disposition" );
   Console::WriteLine( disposition );
   Console::WriteLine( L"File {0}", disposition->FileName );
   Console::WriteLine( L"Size {0}", disposition->Size );
   Console::WriteLine( L"Creation {0}", disposition->CreationDate );
   Console::WriteLine( L"Modification {0}", disposition->ModificationDate );
   Console::WriteLine( L"Read {0}", disposition->ReadDate );
   Console::WriteLine( L"Inline {0}", disposition->Inline );
   Console::WriteLine( L"Parameters: {0}", disposition->Parameters->Count );
   IEnumerator^ myEnum2 = disposition->Parameters->GetEnumerator();
   while ( myEnum2->MoveNext() )
      DictionaryEntry^ d = safe_cast<DictionaryEntry^>(myEnum2->Current);
      Console::WriteLine( L"{0} = {1}", d->Key, d->Value );


public static void CreateMessageAttachment1(string server, string textMessage)
	// Create a message and set up the recipients.
	MailMessage message = new MailMessage(
	   "A text message for you.",
	   "Message: ");

	// Attach the message string to this email message.
	Attachment data = new Attachment(textMessage, MediaTypeNames.Text.Plain);
	ContentDisposition disposition = data.ContentDisposition;
	// Suggest a file name for the attachment.
	disposition.FileName = "message" + DateTime.Now.ToString();
	//Send the message.
	SmtpClient client = new SmtpClient(server);
	client.Credentials = CredentialCache.DefaultNetworkCredentials;

   try {
    catch (Exception ex) {
      Console.WriteLine("Exception caught in CreateMessageAttachment1(): {0}", 
                  ex.ToString() );
	// Display the values in the ContentDisposition for the attachment.
	Console.WriteLine("Content disposition");
	Console.WriteLine("File {0}", disposition.FileName);
	Console.WriteLine("Size {0}", disposition.Size);
	Console.WriteLine("Creation {0}", disposition.CreationDate);
	Console.WriteLine("Modification {0}", disposition.ModificationDate);
	Console.WriteLine("Read {0}", disposition.ReadDate);
	Console.WriteLine("Inline {0}", disposition.Inline);
	Console.WriteLine("Parameters: {0}", disposition.Parameters.Count);
	foreach (DictionaryEntry d in disposition.Parameters)
		Console.WriteLine("{0} = {1}", d.Key, d.Value);


The FileName property allows the sender to suggest the name to be used to store an email attachment on the recipient's computer. This name is a suggestion only; the receiving system can ignore it. The name must not include path information; any such information is ignored by the receiving computer.

To remove file name information, you can set this property to null or the empty string ("").

The Content-Disposition header is described in RFC 2183 available at

Applies to