Partage via


Attachment Classe

Définition

Représente une pièce jointe à un e-mail.

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
Héritage
Attachment

Exemples

L’exemple de code suivant montre comment joindre un fichier à un e-mail.

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

Remarques

La Attachment classe est utilisée avec la MailMessage classe . Tous les messages incluent un Body, qui contient le contenu du message. En plus du corps, vous pouvez envoyer des fichiers supplémentaires. Celles-ci sont envoyées en tant que pièces jointes et sont représentées en tant qu’instances Attachment . Pour ajouter une pièce jointe à un message électronique, ajoutez-la à la MailMessage.Attachments collection.

Le contenu de la pièce jointe peut être un Stringnom de fichier , Streamou . Vous pouvez spécifier le contenu d’une pièce jointe à l’aide de l’un des Attachment constructeurs.

Les informations d’en-tête MIME Content-Type pour la pièce jointe sont représentées par la ContentType propriété . L’en-tête Content-Type spécifie le type et le sous-type de média, ainsi que tous les paramètres associés. Utilisez ContentType pour obtenir les instance associées à une pièce jointe.

L’en-tête MIME Content-Disposition est représenté par la ContentDisposition propriété . L’en-tête Content-Disposition spécifie les horodatages de présentation et de fichier pour une pièce jointe. Un en-tête Content-Disposition est envoyé uniquement si la pièce jointe est un fichier. Utilisez la ContentDisposition propriété pour obtenir les instance associées à une pièce jointe.

L’en-tête MIME Content-Transfer-Encoding est représenté par la TransferEncoding propriété .

Constructeurs

Attachment(Stream, ContentType)

Initialise une nouvelle instance de la classe Attachment avec le flux et le type de contenu spécifiés.

Attachment(Stream, String)

Initialise une nouvelle instance de la classe Attachment avec le flux et le nom spécifiés.

Attachment(Stream, String, String)

Initialise une nouvelle instance de la classe Attachment avec le flux, le nom et les informations de type MIME spécifiés.

Attachment(String)

Initialise une nouvelle instance de la classe Attachment avec la chaîne de contenu spécifiée.

Attachment(String, ContentType)

Initialise une nouvelle instance de la classe Attachment avec la chaîne de contenu et le ContentType spécifiés.

Attachment(String, String)

Initialise une nouvelle instance de la classe Attachment avec la chaîne de contenu et les informations de type MIME spécifiés.

Propriétés

ContentDisposition

Obtient la disposition de contenu MIME pour cette pièce jointe.

ContentId

Obtient ou définit l’ID de contenu MIME pour cette pièce jointe.

(Hérité de AttachmentBase)
ContentStream

Obtient le flux de contenu de cette pièce jointe.

(Hérité de AttachmentBase)
ContentType

Obtient le type de contenu de cette pièce jointe.

(Hérité de AttachmentBase)
Name

Obtient ou définit la valeur du nom du type de contenu MIME dans le type de contenu associé à cette pièce jointe.

NameEncoding

Spécifie l’encodage pour AttachmentName.

TransferEncoding

Obtient ou définit l’encodage de cette pièce jointe.

(Hérité de AttachmentBase)

Méthodes

CreateAttachmentFromString(String, ContentType)

Crée une pièce jointe à l'aide du contenu de la chaîne spécifiée et du ContentType spécifié.

CreateAttachmentFromString(String, String)

Crée une pièce jointe à l'aide du contenu de la chaîne spécifiée et du nom de type de contenu MIME spécifié.

CreateAttachmentFromString(String, String, Encoding, String)

Crée une pièce jointe à l'aide du contenu de la chaîne spécifiée, du nom de type de contenu MIME spécifié, de l'encodage de caractères spécifié et des informations d'en-tête MIME spécifiées pour la pièce jointe.

Dispose()

Libère les ressources utilisées par le AttachmentBase.

(Hérité de AttachmentBase)
Dispose(Boolean)

Libère les ressources non managées utilisées par AttachmentBase et libère éventuellement les ressources managées.

(Hérité de AttachmentBase)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à