이메일을 작성할 때 파일을 첨부해야 하는 경우가 많습니다. 일반적으로 개발자는 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를 사용합니다.
첨부 파일 개체의 FileName 속성이 지정된 MIME 유형과 일치하는지 확인하세요. 위의 예에서는 MediaTypeNames.Text.Plain MIME 유형을 사용할 때 "myFile.txt"를 지정합니다.
위 내용은 C#에서 MemoryStream을 사용하여 이메일에 파일을 첨부하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!