ホームページ >バックエンド開発 >C++ >MailMessage オブジェクトを .eml または .msg ファイルとしてディスクに保存するにはどうすればよいですか?

MailMessage オブジェクトを .eml または .msg ファイルとしてディスクに保存するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-08 10:21:41996ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。