ホームページ > バックエンド開発 > C++ > C# で MemoryStream を使用して電子メールにファイルを添付する方法

C# で MemoryStream を使用して電子メールにファイルを添付する方法

Mary-Kate Olsen
リリース: 2025-01-02 16:06:39
オリジナル
537 人が閲覧しました

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

MemoryStream を使用して C の MailMessage にファイルを添付する

メールを作成するとき、多くの場合、ファイルを添付する必要があります。通常、開発者は FileStream を使用してファイルをディスクに保存し、MailMessage.Attachments.Add() メソッドを使用して添付します。ただし、別のアプローチでは、MemoryStream を使用してファイルをメモリに保存し、それを Attachment オブジェクトに直接渡す必要があります。

解決策

これを実現するには、以下のサンプル コードで説明されている手順に従います。

// 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();
ログイン後にコピー

カスタマイズ

ファイルの種類に応じて、異なる MIME タイプを指定できます。たとえば、PDF ファイルを添付するには、System.Net.Mime.MediaTypeNames.Application.Pdf を使用します。

Attachment オブジェクトの FileName プロパティが指定された MIME タイプと一致することを確認します。上の例では、MediaTypeNames.Text.Plain MIME タイプを使用するときに「myFile.txt」を指定します。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート