MailMessage の添付ファイルの Memory Streams へのアクセス
MemoryStream から MailMessage にファイルを添付すると、中間ファイル ストレージが不要になります。この記事では、この問題の解決策を検討します。
これを実現するには、MemoryStream が作成され、StreamWriter を使用してファイルのコンテンツが設定されます。ファイルがメモリに保存されると、その位置は先頭にリセットされます。
次に、ファイル タイプ (プレーン テキストの場合は text/plain) に基づいて MimeContentType が定義されます。最後に、MemoryStream を使用して新しい添付ファイルが作成され、ファイル名が割り当てられます。
コード スニペットの例を次に示します。
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";
このアプローチにより、ファイルをメモリから直接添付できるため、必要がなくなります。ディスク上の中間ファイルのストレージ用。さまざまな MimeType を指定して、さまざまなファイル形式に対応し、適切なファイル名拡張子を確保できます。
以上がMemoryStream から MailMessage にファイルを添付するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。