Heim > Backend-Entwicklung > C++ > Wie hänge ich mit MemoryStream in C# Dateien an E-Mails an?

Wie hänge ich mit MemoryStream in C# Dateien an E-Mails an?

Mary-Kate Olsen
Freigeben: 2025-01-02 16:06:39
Original
506 Leute haben es durchsucht

How to Attach Files to Emails using MemoryStream in C#?

Verwenden von MemoryStream zum Anhängen von Dateien an MailMessage in C

Beim Verfassen von E-Mails ist es oft notwendig, Dateien anzuhängen. Normalerweise speichern Entwickler die Datei mit FileStream auf der Festplatte und hängen sie dann mit der Methode MailMessage.Attachments.Add() an. Ein alternativer Ansatz besteht jedoch darin, die Datei mithilfe von MemoryStream im Speicher zu speichern und sie direkt an ein Anhangsobjekt zu übergeben.

Lösung

Um dies zu erreichen, befolgen Sie die im folgenden Beispielcode beschriebenen Schritte:

// Create a MemoryStream and populate it with the file content
System.IO.MemoryStream ms = new System.IO.MemoryStream();
System.IO.StreamWriter writer = new System.IO.StreamWriter(ms);
writer.Write("Hello its my sample file");
writer.Flush();
writer.Dispose();
ms.Position = 0;

// Define the file type based on MIME type
System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Text.Plain);
ct.Parameters.Add("name", "myFile.txt"); // Set the attachment filename, including extension

// Create an Attachment object from the MemoryStream
System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(ms, ct);

// Attach the file to the email message
mailMessage.Attachments.Add(attach);

// Send the email, assuming you have an existing `mailMessage` object
mailMessage.Send();

// Close the MemoryStream after sending the email
ms.Close();
Nach dem Login kopieren

Anpassung

Je nach Dateityp können Sie unterschiedliche MIME-Typen angeben. Um beispielsweise eine PDF-Datei anzuhängen, verwenden Sie System.Net.Mime.MediaTypeNames.Application.Pdf.

Stellen Sie sicher, dass die FileName-Eigenschaft des Attachment-Objekts mit dem angegebenen MIME-Typ übereinstimmt. Im obigen Beispiel geben wir „myFile.txt“ an, wenn wir den MIME-Typ MediaTypeNames.Text.Plain verwenden.

Das obige ist der detaillierte Inhalt vonWie hänge ich mit MemoryStream in C# Dateien an E-Mails an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage