Freigeben über


Attachment Klasse

Definition

Stellt eine Anlage einer E-Mail dar.

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
Vererbung
Attachment

Beispiele

Das folgende Codebeispiel veranschaulicht das Anfügen einer Datei an eine E-Mail-Nachricht.

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

Hinweise

Die Attachment -Klasse wird mit der MailMessage -Klasse verwendet. Alle Nachrichten enthalten einen Body, der den Inhalt der Nachricht enthält. Zusätzlich zum Textkörper können Sie zusätzliche Dateien senden. Diese werden als Anlagen gesendet und als Attachment Instanzen dargestellt. Um einer E-Mail-Nachricht eine Anlage hinzuzufügen, fügen Sie sie der MailMessage.Attachments Sammlung hinzu.

Anlageninhalt kann ein Dateiname, Streamoder ein StringDateiname sein. Sie können den Inhalt in einer Anlage angeben, indem Sie einen der Attachment Konstruktoren verwenden.

Die MIME Content-Type-Headerinformationen für die Anlage werden durch die ContentType -Eigenschaft dargestellt. Der Content-Type-Header gibt den Medientyp und den Untertyp sowie alle zugeordneten Parameter an. Verwenden SieContentType, um die instance abzurufen, die einer Anlage zugeordnet sind.

Der MIME Content-Disposition-Header wird durch die ContentDisposition -Eigenschaft dargestellt. Der Content-Disposition-Header gibt die Präsentations- und Dateizeitstempel für eine Anlage an. Ein Content-Disposition-Header wird nur gesendet, wenn es sich bei der Anlage um eine Datei handelt. Verwenden Sie die ContentDisposition -Eigenschaft, um die instance abzurufen, die einer Anlage zugeordnet ist.

Der MIME Content-Transfer-Encoding-Header wird durch die TransferEncoding -Eigenschaft dargestellt.

Konstruktoren

Attachment(Stream, ContentType)

Initialisiert eine neue Instanz der Attachment-Klasse mit dem angegebenen Stream und Inhaltstyp.

Attachment(Stream, String)

Initialisiert eine neue Instanz der Attachment-Klasse mit dem angegebenen Stream und Namen.

Attachment(Stream, String, String)

Initialisiert eine neue Instanz der Attachment-Klasse mit den angegebenen Informationen über Stream, Name und MIME-Typ.

Attachment(String)

Initialisiert eine neue Instanz der Attachment-Klasse mit der angegebenen Inhaltszeichenfolge.

Attachment(String, ContentType)

Initialisiert eine neue Instanz der Attachment-Klasse mit der angegebenen Inhaltszeichenfolge und dem angegebenen ContentType.

Attachment(String, String)

Initialisiert eine neue Instanz der Attachment-Klasse mit der angegebenen Inhaltszeichenfolge und dem angegebenen MIME-Typ.

Eigenschaften

ContentDisposition

Ruft die MIME-Inhaltsdisposition für diese Anlage ab.

ContentId

Ruft die MIME-Inhalts-ID für diese Anlage ab oder legt sie fest.

(Geerbt von AttachmentBase)
ContentStream

Ruft den Inhaltsstream dieser Anlage ab.

(Geerbt von AttachmentBase)
ContentType

Ruft den Inhaltstyp dieser Anlage ab.

(Geerbt von AttachmentBase)
Name

Ruft den Namenswert für den MIME-Inhaltstyp in dem Inhaltstyp ab, der dieser Anlage zugeordnet ist, oder legt diesen fest.

NameEncoding

Gibt die Codierung für den AttachmentName an.

TransferEncoding

Ruft die Codierung der Anlage ab oder legt diese fest.

(Geerbt von AttachmentBase)

Methoden

CreateAttachmentFromString(String, ContentType)

Erstellt ein E-Mail-Anlage mit dem Inhalt aus der angegebenen Zeichenfolge und dem angegebenen ContentType.

CreateAttachmentFromString(String, String)

Erstellt eine E-Mail-Anlage mit dem Inhalt aus der angegebenen Zeichenfolge und dem angegebenen Namen des MIME-Inhaltstyps.

CreateAttachmentFromString(String, String, Encoding, String)

Erstellt eine E-Mail-Anlage mit dem Inhalt aus der angegebenen Zeichenfolge, dem angegebenen Namen des MIME-Inhaltstyps, der angegebenen Zeichencodierung und den MIME-Headerinformationen für die Anlage.

Dispose()

Gibt die von der AttachmentBase verwendeten Ressourcen frei.

(Geerbt von AttachmentBase)
Dispose(Boolean)

Gibt die von AttachmentBase verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von AttachmentBase)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: