Maison > développement back-end > C++ > Comment joindre des fichiers à des e-mails à l'aide de MemoryStream en C# ?

Comment joindre des fichiers à des e-mails à l'aide de MemoryStream en C# ?

Mary-Kate Olsen
Libérer: 2025-01-02 16:06:39
original
506 Les gens l'ont consulté

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

Utiliser MemoryStream pour joindre des fichiers à MailMessage en C

Lors de la rédaction d'e-mails, il est souvent nécessaire de joindre des fichiers. En règle générale, les développeurs enregistrent le fichier sur le disque à l'aide de FileStream, puis le joignent à l'aide de la méthode MailMessage.Attachments.Add(). Cependant, une approche alternative consiste à stocker le fichier en mémoire à l'aide de MemoryStream et à le transmettre directement à un objet Attachment.

Solution

Pour y parvenir, suivez les étapes décrites dans l'exemple de code ci-dessous :

// 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();
Copier après la connexion

Personnalisation

En fonction du type de fichier, vous pouvez spécifier différents types MIME. Par exemple, pour joindre un fichier PDF, utilisez System.Net.Mime.MediaTypeNames.Application.Pdf.

Assurez-vous que la propriété FileName de l'objet Attachment correspond au type MIME spécifié. Dans l'exemple ci-dessus, nous spécifions "myFile.txt" lors de l'utilisation du type MIME MediaTypeNames.Text.Plain.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal