在 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.MimeTypeNames,例如System.Net.Mime.MediaTypeNames.Application.Pdf。
根據 Mime 類型,確保在 FileName 中指定正確的副檔名,例如「myFile .pdf」。
以上是如何在 C# 中將 MemoryStream 中的檔案附加到 MailMessage?的詳細內容。更多資訊請關注PHP中文網其他相關文章!