Attachment Classe

Definizione

Rappresenta un allegato a un messaggio di posta elettronica.

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
Ereditarietà
Attachment

Esempio

Nell'esempio di codice seguente viene illustrato come allegare un file a un messaggio di posta elettronica.

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

Commenti

La Attachment classe viene usata con la MailMessage classe . Tutti i messaggi includono un Bodyoggetto , che contiene il contenuto del messaggio. Oltre al corpo, potrebbe essere necessario inviare file aggiuntivi. Questi vengono inviati come allegati e sono rappresentati come Attachment istanze. Per aggiungere un allegato a un messaggio di posta elettronica, aggiungerlo alla MailMessage.Attachments raccolta.

Il contenuto degli allegati può essere un Stringnome di file , Streamo . È possibile specificare il contenuto in un allegato usando uno qualsiasi dei Attachment costruttori.

Le informazioni sull'intestazione MIME Content-Type per l'allegato sono rappresentate dalla ContentType proprietà . L'intestazione Content-Type specifica il tipo di supporto e il sottotipo e tutti i parametri associati. Usare ContentType per ottenere l'istanza associata a un allegato.

L'intestazione MIME Content-Disposition è rappresentata dalla ContentDisposition proprietà . L'intestazione Content-Disposition specifica i timestamp di presentazione e file per un allegato. Un'intestazione Content-Disposition viene inviata solo se l'allegato è un file. Utilizzare la ContentDisposition proprietà per ottenere l'istanza associata a un allegato.

L'intestazione MIME Content-Transfer-Encoding è rappresentata dalla TransferEncoding proprietà .

Costruttori

Attachment(Stream, ContentType)

Inizializza una nuova istanza della classe Attachment con il tipo di flusso e di contenuto specificati.

Attachment(Stream, String)

Inizializza una nuova istanza della classe Attachment con il flusso e il nome specificati.

Attachment(Stream, String, String)

Inizializza una nuova istanza della classe Attachment con le informazioni sul tipo MIME, sul nome e sul flusso specificati.

Attachment(String)

Inizializza una nuova istanza della classe Attachment con la stringa di contenuto specificata.

Attachment(String, ContentType)

Inizializza una nuova istanza della classe Attachment con la stringa di contenuto e la classe ContentType specificate.

Attachment(String, String)

Inizializza una nuova istanza della classe Attachment con le informazioni sul tipo MIME e sulla stringa di contenuto specificate.

Proprietà

ContentDisposition

Ottiene la disposizione del contenuto MIME per questo allegato.

ContentId

Ottiene o imposta l'ID contenuto MIME per l'allegato.

(Ereditato da AttachmentBase)
ContentStream

Ottiene il flusso di contenuto di questo allegato.

(Ereditato da AttachmentBase)
ContentType

Ottiene il tipo di contenuto di questo allegato.

(Ereditato da AttachmentBase)
Name

Ottiene o imposta il valore del nome del tipo di contenuto MIME nel tipo di contenuto associato a questo allegato.

NameEncoding

Specifica la codifica per AttachmentName.

TransferEncoding

Ottiene o imposta la codifica di questo allegato.

(Ereditato da AttachmentBase)

Metodi

CreateAttachmentFromString(String, ContentType)

Crea un allegato di posta utilizzando il contenuto della stringa specificata e la classe ContentType specificata.

CreateAttachmentFromString(String, String)

Crea un allegato di posta utilizzando il contenuto della stringa specificata e il nome del tipo di contenuto MIME specificato.

CreateAttachmentFromString(String, String, Encoding, String)

Crea un allegato di posta utilizzando il contenuto della stringa specificata, il nome del tipo di contenuto MIME specificato, la codifica dei caratteri e le informazioni dell'intestazione MIME relative all'allegato.

Dispose()

Rilascia le risorse usate da AttachmentBase.

(Ereditato da AttachmentBase)
Dispose(Boolean)

Rilascia le risorse non gestite usate da AttachmentBase e, facoltativamente, le risorse gestite.

(Ereditato da AttachmentBase)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a