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와 같은 System.Net.Mime.MimeTypeNames를 사용하여
Mime 유형을 기반으로 FileName에 올바른 확장자가 지정되어 있는지 확인하세요(예: " myFile.pdf".
위 내용은 C#에서 MemoryStream의 파일을 MailMessage에 첨부하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!