Attachment-Klasse
Assembly: System (in system.dll)
Die Attachment-Klasse wird mit der MailMessage-Klasse verwendet. Alle Nachrichten enthalten einen Body mit dem Inhalt der Nachricht. Zusätzlich zum Text können Sie weitere 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-Auflistung hinzu.
Anlageninhalt kann ein String, ein Stream oder ein Dateiname sein. Sie können den Inhalt in einer Anlage mithilfe eines beliebigen Attachment-Konstruktors angeben.
Die MIME-Content-Type-Headerinformationen für die Anlage werden durch die ContentType-Eigenschaft dargestellt. Der Content-Type-Header gibt den Medientyp, den Untertyp und die zugeordneten Parameter an. Verwenden Sie ContentType, um die einer Anlage zugeordnete Instanz abzurufen.
Der MIME-Content-Disposition-Header wird durch die ContentDisposition-Eigenschaft dargestellt. Der Content-Disposition-Header gibt die Darstellung und Dateizeitstempel für eine Anlage an. Ein Content-Disposition-Header wird nur gesendet, wenn die Anlage eine Datei ist. Verwenden Sie ContentDisposition-Eigenschaft, um die einer Anlage zugeordnete Instanz abzurufen.
Der MIME-Content-Transfer-Encoding-Header wird durch die TransferEncoding-Eigenschaft dargestellt.
Im folgenden Codebeispiel wird das Anfügen einer Datei an eine E-Mail-Nachricht veranschaulicht.
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 e-mail 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 e-mail 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; client.Send(message); // 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(); }
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.