Attachment Clase

Definición

Representa los datos adjuntos de un correo electrónico.Represents an attachment to an email.

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.The following code example demonstrates attaching a file to an email message.

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 clase Attachment se usa con la clase MailMessage.The Attachment class is used with the MailMessage class. Todos los mensajes incluyen un Body, que incluye el contenido del mensaje.All messages include a Body, which contains the content of the message. Además del cuerpo, puede que desee enviar archivos adicionales.In addition to the body, you might want to send additional files. Estos se envían como datos adjuntos y se representan como instancias de Attachment.These are sent as attachments and are represented as Attachment instances. Para agregar datos adjuntos a un mensaje de correo, agréguelo a la colección de MailMessage.Attachments.To add an attachment to a mail message, add it to the MailMessage.Attachments collection.

El contenido de los datos adjuntos puede ser un nombre de archivo String, Streamo.Attachment content can be a String, Stream, or file name. Puede especificar el contenido de los datos adjuntos mediante cualquiera de los constructores de Attachment.You can specify the content in an attachment by using any of the Attachment constructors.

La información del encabezado de tipo de contenido MIME de los datos adjuntos se representa mediante la propiedad ContentType.The MIME Content-Type header information for the attachment is represented by the ContentType property. El encabezado Content-Type Especifica el tipo de medio y el subtipo y los parámetros asociados.The Content-Type header specifies the media type and subtype and any associated parameters. Utilice ContentType para obtener la instancia asociada a los datos adjuntos.Use ContentType to get the instance associated with an attachment.

El encabezado Content-Disposition de MIME se representa mediante la propiedad ContentDisposition.The MIME Content-Disposition header is represented by the ContentDisposition property. El encabezado Content-Disposition especifica la presentación y las marcas de tiempo de archivo para los datos adjuntos.The Content-Disposition header specifies the presentation and file time stamps for an attachment. Un encabezado Content-Disposition se envía solo si los datos adjuntos son un archivo.A Content-Disposition header is sent only if the attachment is a file. Use la propiedad ContentDisposition para obtener la instancia asociada a los datos adjuntos.Use the ContentDisposition property to get the instance associated with an attachment.

El encabezado Content-Transfer-Encoding de MIME se representa mediante la propiedad TransferEncoding.The MIME Content-Transfer-Encoding header is represented by the TransferEncoding property.

Constructores

Attachment(Stream, ContentType)

Inicializa una nueva instancia de la clase Attachment con la cadena y el tipo de contenido especificados.Initializes a new instance of the Attachment class with the specified stream and content type.

Attachment(Stream, String)

Inicializa una nueva instancia de la clase Attachment con la secuencia y el nombre especificados.Initializes a new instance of the Attachment class with the specified stream and name.

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.Initializes a new instance of the Attachment class with the specified stream, name, and MIME type information.

Attachment(String)

Inicializa una nueva instancia de la clase Attachment con la cadena de contenido especificada.Initializes a new instance of the Attachment class with the specified content string.

Attachment(String, ContentType)

Inicializa una nueva instancia de la clase Attachment con la cadena de contenido y el objeto ContentType que se hayan especificado.Initializes a new instance of the Attachment class with the specified content string and ContentType.

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.Initializes a new instance of the Attachment class with the specified content string and MIME type information.

Propiedades

ContentDisposition

Obtiene la disposición de contenido MIME de estos datos adjuntos.Gets the MIME content disposition for this attachment.

ContentId

Obtiene o establece el identificador de contenido MIME de estos datos adjuntos.Gets or sets the MIME content ID for this attachment.

(Heredado de AttachmentBase)
ContentStream

Obtiene la secuencia de contenido de estos datos adjuntos.Gets the content stream of this attachment.

(Heredado de AttachmentBase)
ContentType

Obtiene el tipo de contenido de estos datos adjuntos.Gets the content type of this attachment.

(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.Gets or sets the MIME content type name value in the content type associated with this attachment.

NameEncoding

Especifica la codificación para AttachmentName.Specifies the encoding for the AttachmentName.

TransferEncoding

Obtiene o establece la codificación de estos datos adjuntos.Gets or sets the encoding of this attachment.

(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.Creates a mail attachment using the content from the specified string, and the specified ContentType.

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.Creates a mail attachment using the content from the specified string, and the specified MIME content type name.

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.Creates a mail attachment using the content from the specified string, the specified MIME content type name, character encoding, and MIME header information for the attachment.

Dispose()

Libera los recursos que usa AttachmentBase.Releases the resources used by the AttachmentBase.

(Heredado de AttachmentBase)
Dispose(Boolean)

Libera los recursos no administrados que usa el objeto AttachmentBase y, opcionalmente, libera los recursos administrados.Releases the unmanaged resources used by the AttachmentBase and optionally releases the managed resources.

(Heredado de AttachmentBase)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Se aplica a