> 백엔드 개발 > C++ > C#에서 MemoryStream을 사용하여 이메일에 파일을 첨부하는 방법은 무엇입니까?

C#에서 MemoryStream을 사용하여 이메일에 파일을 첨부하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-02 16:06:39
원래의
506명이 탐색했습니다.

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

C에서 MemoryStream을 사용하여 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를 사용합니다.

첨부 파일 개체의 FileName 속성이 지정된 MIME 유형과 일치하는지 확인하세요. 위의 예에서는 MediaTypeNames.Text.Plain MIME 유형을 사용할 때 "myFile.txt"를 지정합니다.

위 내용은 C#에서 MemoryStream을 사용하여 이메일에 파일을 첨부하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿