1. ホーム
  2. c#

[解決済み] MailMessageオブジェクトをディスクに*.emlまたは*.msgファイルとして保存する方法

2023-03-23 17:32:05

質問

MailMessageオブジェクトをディスクに保存する方法を教えてください。MailMessageオブジェクトはSave()メソッドを公開していません。

私は、*.eml や *.msg などの任意の形式で保存されれば問題ありません。何かいい方法はありませんか?

どのように解決するのですか?

わかりやすくするために、あるサイトからの説明を引用します。 接続項目 :

実際に SmtpClient を構成して、電子メールをネットワークではなくファイルシステム システムに送信するように設定できます。これは を使用してプログラム的に行うことができます。 次のコードを使用して、プログラム的にこれを行うことができます。

SmtpClient client = new SmtpClient("mysmtphost");
client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
client.PickupDirectoryLocation = @"C:\somedirectory";
client.Send(message);

また、この設定は アプリケーションの設定ファイル このように

 <configuration>
     <system.net>
         <mailSettings>
             <smtp deliveryMethod="SpecifiedPickupDirectory">
                 <specifiedPickupDirectory pickupDirectoryLocation="C:\somedirectory" />
             </smtp>
         </mailSettings>
     </system.net>
 </configuration>

<ブロッククオート

メール送信後 に追加されます。 ディレクトリに追加されます。その後 別のプロセスで バッチモードで電子メールメッセージを送信することができます。

どうせ送信しないのだから、リストアップされたものでなく、空のコンストラクタを使えばいいのでは?