Partilhar via


Attachment Classe

Definição

Representa um anexo de um 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
Herança
Attachment

Exemplos

O exemplo de código a seguir demonstra como anexar um arquivo a uma mensagem de email.

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

Comentários

A Attachment classe é usada com a MailMessage classe . Todas as mensagens incluem um Body, que contém o conteúdo da mensagem. Além do corpo, talvez você queira enviar arquivos adicionais. Eles são enviados como anexos e são representados como Attachment instâncias. Para adicionar um anexo a uma mensagem de email, adicione-o à MailMessage.Attachments coleção.

O conteúdo do anexo pode ser um Stringnome de arquivo , Streamou . Você pode especificar o conteúdo em um anexo usando qualquer um dos Attachment construtores.

As informações do cabeçalho Content-Type do MIME para o anexo são representadas pela ContentType propriedade . O cabeçalho Content-Type especifica o tipo de mídia e o subtipo e quaisquer parâmetros associados. Use ContentType para obter a instância associada a um anexo.

O cabeçalho MimE Content-Disposition é representado pela ContentDisposition propriedade . O cabeçalho Content-Disposition especifica os carimbos de data/hora da apresentação e do arquivo para um anexo. Um cabeçalho Content-Disposition será enviado somente se o anexo for um arquivo. Use a ContentDisposition propriedade para obter a instância associada a um anexo.

O cabeçalho MIME Content-Transfer-Encoding é representado pela TransferEncoding propriedade .

Construtores

Attachment(Stream, ContentType)

Inicializa uma nova instância da classe Attachment com o fluxo e o tipo de conteúdo especificados.

Attachment(Stream, String)

Inicializa uma nova instância da classe Attachment com o fluxo e o nome especificados.

Attachment(Stream, String, String)

Inicializa uma nova instância da classe Attachment com o fluxo, nome e informações do tipo MIME especificados.

Attachment(String)

Inicializa uma nova instância da classe Attachment com a cadeia de caracteres de conteúdo especificada.

Attachment(String, ContentType)

Inicializa uma nova instância da classe Attachment com a cadeia de caracteres de conteúdo especificada e ContentType.

Attachment(String, String)

Inicializa uma nova instância da classe Attachment com a cadeia de caracteres de conteúdo e informações do tipo MIME especificados.

Propriedades

ContentDisposition

Obtém a disposição de conteúdo MIME para este anexo.

ContentId

Obtém ou define a ID do conteúdo MIME deste anexo.

(Herdado de AttachmentBase)
ContentStream

Obtém o fluxo de conteúdo deste anexo.

(Herdado de AttachmentBase)
ContentType

Obtém o tipo de conteúdo deste anexo.

(Herdado de AttachmentBase)
Name

Obtém ou define o valor de nome do tipo de conteúdo MIME no tipo de conteúdo associado a este anexo.

NameEncoding

Especifica a codificação para o AttachmentName.

TransferEncoding

Obtém ou define a codificação deste anexo.

(Herdado de AttachmentBase)

Métodos

CreateAttachmentFromString(String, ContentType)

Cria um anexo de email usando o conteúdo da cadeia de caracteres especificada e o ContentType especificado.

CreateAttachmentFromString(String, String)

Cria um anexo de email usando o conteúdo da cadeia de caracteres especificada e o nome do tipo de conteúdo MIME especificado.

CreateAttachmentFromString(String, String, Encoding, String)

Cria um anexo de email usando o conteúdo da cadeia de caracteres especificada, o nome do tipo de conteúdo MIME especificado, a codificação de caracteres e as informações de cabeçalho MIME do anexo.

Dispose()

Libera os recursos usados pelo AttachmentBase.

(Herdado de AttachmentBase)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo AttachmentBase e opcionalmente libera os recursos gerenciados.

(Herdado de AttachmentBase)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a