>백엔드 개발 >C++ >MailMessage 개체를 디스크에 .eml 또는 .msg 파일로 저장하려면 어떻게 해야 합니까?

MailMessage 개체를 디스크에 .eml 또는 .msg 파일로 저장하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-08 10:21:411039검색

How Can I Save MailMessage Objects to Disk as .eml or .msg Files?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.