これは何かが機能している別の状況であるため、誰かが私のために何かを解決するのを手伝ってくれることを願っていますが、それが機能している理由を完全には理解していません:
web.config には標準の SMTP 設定があり、コードで呼び出されるメソッドに応じて異なる電子メール アドレスから送信する必要があるため、カスタム メール セクションもあります。
カスタム セクションで両方の異なるメール送信元アドレスを定義したため、標準の mailSettings セクションを削除できましたが、コードは送信元アドレスで失敗しました。新しい System.Net.Mail.MailMessage インスタンスを定義しているためだと思います。これにより、標準の mailSettings セクションが自動的に参照されます。
標準の mailSettings セクションがあれば、両方の方法が機能し、異なるアドレスからメールを送信できます。
これに関する Scott Guthrie のブログ投稿を見て、彼も mailSettings に標準設定を持っていますが、送信元アドレスも定義しています。彼の例では、メソッドの送信元アドレスは、web.config の mailSettings セクションの送信元アドレスとは異なります。
だから、私の質問は次のとおりです。
- MailMessage クラスは自動的に mailSettings セクションを参照しますか?
- カスタム セクションで差出人アドレスを定義しているときに、これが取得されないのはなぜですか。また、その場合、標準の mailSettings セクションを削除できないのはなぜですか?
- MailMessage クラスを使用しているために標準設定を使用する必要がある場合、送信元アドレスを mailSettings セクションとは異なるものとして定義するにはどうすればよいでしょうか。
Scott Guthrie の例では、彼は mailSettings の送信元アドレスをコードでオーバーライドしているように思えます。コードで送信元アドレスを定義しなかった場合、デフォルトで mailSettings のアドレスになりますが、誰かができることを望んでいます私のためにこれを明確にしてください。
どうもありがとう!