System.Net.Mail.SMTPClent 経由で送信される電子メールをキューに入れている場合、このメールはどこにありますか? Windows SMTP クライアントでは、C:\inetpub\mailroot フォルダーにあります。.NET クライアント用の同様のフォルダーはありますか?
編集:これは例です。XP コンピューターで送信 SMTP サーバーをオフにしてから、多数の電子メールを送信するアプリケーションを実行すると、.NET SMTPClient.Send 呼び出しが成功するため、電子メールはどこかにキューに入れられます。数時間後、ローカルの SMTP サーバーを起動すると、メールが突然飛び出します。その間はどこに?ローカル SMTP サーバーはありませんが、Vista デスクトップでも同じ動作が発生します。ファイアウォールでポート 25 をブロックすることで機能を複製でき、メールがどこかでキューに入れられます。どこ?
この質問の理由は、私が持っているサーバーで SMTP サービスを再度有効にしたいのですが、その間に何がキューに入れられたのかわかりません。サービスを有効にします。そうすれば、顧客は非常に古いキューに入れられた電子メールを突然受け取ることはありません。
編集:明らかに、私は何について話しているのかわかりません。Vistaでこれを行うと:
Dim mm As New System.Net.Mail.MailMessage("me@me.com", "you@you.com", "Testing", "this is a test")
Dim s As New System.Net.Mail.SmtpClient("localhost")
s.DeliveryMethod = Mail.SmtpDeliveryMethod.PickupDirectoryFromIis
s.Send(mm)
IIS ピックアップ フォルダーがないため、例外が発生します。「Mail.SmtpDeliveryMethod.Network」に変更すると、SMTP サーバーが実行されていないため、すぐに例外が発生します。サーバー 2003 でこれをテストしますが、過去には両方とも機能していたと断言できました。さらにテストを行い、必要に応じて質問を変更します。