Attachment Clase

Definición

Representa los datos adjuntos de un correo electrónico.

public ref class Attachment : System::Net::Mail::AttachmentBase
public class Attachment : System.Net.Mail.AttachmentBase
type Attachment = class
    inherit AttachmentBase
Public Class Attachment
Inherits AttachmentBase
Herencia
Attachment

Ejemplos

En el ejemplo de código siguiente se muestra cómo adjuntar un archivo a un mensaje de correo electrónico.

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 email 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 email 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 email 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 email 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;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}",
            ex.ToString());
    }
    // 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();
}

Comentarios

La Attachment clase se usa con la MailMessage clase . Todos los mensajes incluyen , Bodyque contiene el contenido del mensaje. Además del cuerpo, es posible que desee enviar archivos adicionales. Se envían como datos adjuntos y se representan como Attachment instancias. Para agregar datos adjuntos a un mensaje de correo, agréguelo a la MailMessage.Attachments colección.

El contenido de datos adjuntos puede ser un Stringnombre de archivo , Streamo . Puede especificar el contenido de un archivo adjunto mediante cualquiera de los Attachment constructores.

La información del encabezado content-Type de MIME para los datos adjuntos se representa mediante la ContentType propiedad . El encabezado Content-Type especifica el tipo de medio y el subtipo y los parámetros asociados. Use ContentType para obtener la instancia asociada a un archivo adjunto.

El encabezado MIME Content-Disposition se representa mediante la ContentDisposition propiedad . El encabezado Content-Disposition especifica las marcas de tiempo de presentación y archivo para los datos adjuntos. Un encabezado Content-Disposition solo se envía si los datos adjuntos son un archivo. Utilice la ContentDisposition propiedad para obtener la instancia asociada a un archivo adjunto.

El encabezado MIME Content-Transfer-Encoding se representa mediante la TransferEncoding propiedad .

Constructores

Attachment(Stream, ContentType)

Inicializa una nueva instancia de la clase Attachment con la cadena y el tipo de contenido especificados.

Attachment(Stream, String)

Inicializa una nueva instancia de la clase Attachment con la secuencia y el nombre especificados.

Attachment(Stream, String, String)

Inicializa una nueva instancia de la clase Attachment con la cadena, el nombre y la información de tipo MIME que se hayan especificado.

Attachment(String)

Inicializa una nueva instancia de la clase Attachment con la cadena de contenido especificada.

Attachment(String, ContentType)

Inicializa una nueva instancia de la clase Attachment con la cadena de contenido y el objeto ContentType que se hayan especificado.

Attachment(String, String)

Inicializa una nueva instancia de la clase Attachment con la cadena de contenido y la información de tipo MIME que se hayan especificado.

Propiedades

ContentDisposition

Obtiene la disposición de contenido MIME de estos datos adjuntos.

ContentId

Obtiene o establece el identificador de contenido MIME de estos datos adjuntos.

(Heredado de AttachmentBase)
ContentStream

Obtiene la secuencia de contenido de estos datos adjuntos.

(Heredado de AttachmentBase)
ContentType

Obtiene el tipo de contenido de estos datos adjuntos.

(Heredado de AttachmentBase)
Name

Obtiene o establece el valor de nombre para el tipo de contenido MIME del tipo de contenido asociado a estos datos adjuntos.

NameEncoding

Especifica la codificación para AttachmentName.

TransferEncoding

Obtiene o establece la codificación de estos datos adjuntos.

(Heredado de AttachmentBase)

Métodos

CreateAttachmentFromString(String, ContentType)

Crea datos adjuntos a un mensaje utilizando el contenido de la cadena especificada y el objeto ContentType especificado.

CreateAttachmentFromString(String, String)

Crea datos adjuntos a un mensaje utilizando el contenido de la cadena especificada y el nombre para el tipo de contenido MIME especificado.

CreateAttachmentFromString(String, String, Encoding, String)

Crea los datos adjuntos a un mensaje utilizando el contenido de la cadena especificada, el nombre de tipo de contenido MIME especificado, la codificación de caracteres y la información de encabezado MIME de los datos adjuntos.

Dispose()

Libera los recursos que usa AttachmentBase.

(Heredado de AttachmentBase)
Dispose(Boolean)

Libera los recursos no administrados que usa AttachmentBase y, de forma opcional, libera los recursos administrados.

(Heredado de AttachmentBase)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a