ホームページ >バックエンド開発 >C++ >C# で MemoryStream から MailMessage にファイルを添付する方法?

C# で MemoryStream から MailMessage にファイルを添付する方法?

DDD
DDDオリジナル
2025-01-02 15:27:39448ブラウズ

How to Attach Files from a MemoryStream to a MailMessage in C#?

C で MemoryStream から MailMessage にファイルを添付する

C# でメールを作成する場合、ファイルを添付する必要が生じる場合があります。従来、ファイルは添付ファイル コレクションに追加される前にディスクに保存されていました。ただし、この方法ではファイルをディスクに保存する必要があり、特定のシナリオでは非効率的で不必要になる可能性があります。

ファイルをディスクに保存する代わりに、MemoryStream を使用してメモリに保存できます。この手法を使用すると、中間手順なしでファイルを MailMessage オブジェクトに直接添付できます。

コード例

次のコード サンプルは、MemoryStream から MailMessage にファイルを添付する方法を示しています。

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;

System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Text.Plain);
System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(ms, ct);
attach.ContentDisposition.FileName = "myFile.txt";

// I guess you know how to send email with an attachment
// after sending email
ms.Close();

編集 1:

他のファイルを指定することもできますSystem.Net.Mime.MediaTypeNames.Application.Pdf.

Mime タイプに基づいて、System.Net.Mime.MimeTypeNames を使用してタイプを指定し、FileName に正しい拡張子が指定されていることを確認します。たとえば、 "myFile.pdf".

以上がC# で MemoryStream から MailMessage にファイルを添付する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。