MailMessage 객체를 .eml 또는 .msg 파일로 유지
개발자는 MailMessage
개체로 표시되는 이메일 메시지를 파일 시스템에 저장해야 하는 경우가 많습니다. 불행하게도 MailMessage
클래스는 디스크에 저장하는 것을 직접 지원하지 않습니다. 이 기사에서는 실용적인 솔루션을 제시합니다.
해결책: SmtpClient 활용
핵심은 SmtpClient
클래스를 활용하는 것입니다. DeliveryMethod
속성을 SmtpDeliveryMethod.SpecifiedPickupDirectory
으로 설정하면 이메일 메시지 저장 공간을 로컬 폴더로 리디렉션하여 효과적으로 네트워크 전송을 우회할 수 있습니다.
코드 예:
<code class="language-csharp">using System.Net.Mail; namespace EmailFileWriter { class Program { static void Main(string[] args) { // Initialize a MailMessage object. Content can be added as needed. MailMessage email = new MailMessage(); // Configure SmtpClient for local file storage. SmtpClient client = new SmtpClient(); client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; client.PickupDirectoryLocation = @"C:\somedirectory"; // Specify your desired path // "Sending" the email saves it to the specified directory. client.Send(email); } } }</code>
대체 구성: App.config
유연성을 높이려면 애플리케이션 구성 파일(SmtpClient
) 내에서 App.config
설정을 구성하세요.
<code class="language-xml"><?xml version="1.0" encoding="utf-8"?> <configuration> <system.net> <mailSettings> <smtp deliveryMethod="SpecifiedPickupDirectory"> <specifiedPickupDirectory pickupDirectoryLocation="C:\somedirectory" /> </smtp> </mailSettings> </system.net> </configuration></code>
이 방법은 client.Send()
호출 시 지정된 디렉터리에 이메일 파일(사용된 이메일 클라이언트에 따라 .eml 또는 .msg)을 생성합니다. 이러한 파일은 나중에 처리하거나 보낼 수 있습니다.
위 내용은 MailMessage 개체를 디스크에 .eml 또는 .msg 파일로 저장하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!