0

これは何かが機能している別の状況であるため、誰かが私のために何かを解決するのを手伝ってくれることを願っていますが、それが機能している理由を完全には理解していません:

web.config には標準の SMTP 設定があり、コードで呼び出されるメソッドに応じて異なる電子メール アドレスから送信する必要があるため、カスタム メール セクションもあります。

カスタム セクションで両方の異なるメール送信元アドレスを定義したため、標準の mailSettings セクションを削除できましたが、コードは送信元アドレスで失敗しました。新しい System.Net.Mail.MailMessage インスタンスを定義しているためだと思います。これにより、標準の mailSettings セクションが自動的に参照されます。

標準の mailSettings セクションがあれば、両方の方法が機能し、異なるアドレスからメールを送信できます。

これに関する Scott Guthrie のブログ投稿を見て、彼も mailSettings に標準設定を持っていますが、送信元アドレスも定義しています。彼の例では、メソッドの送信元アドレスは、web.config の mailSettings セクションの送信元アドレスとは異なります。

だから、私の質問は次のとおりです。

  1. MailMessage クラスは自動的に mailSettings セクションを参照しますか?
  2. カスタム セクションで差出人アドレスを定義しているときに、これが取得されないのはなぜですか。また、その場合、標準の mailSettings セクションを削除できないのはなぜですか?
  3. MailMessage クラスを使用しているために標準設定を使用する必要がある場合、送信元アドレスを mailSettings セクションとは異なるものとして定義するにはどうすればよいでしょうか。

Scott Guthrie の例では、彼は mailSettings の送信元アドレスをコードでオーバーライドしているように思えます。コードで送信元アドレスを定義しなかった場合、デフォルトで mailSettings のアドレスになりますが、誰かができることを望んでいます私のためにこれを明確にしてください。

どうもありがとう!

4

1 に答える 1

2

1.MailMessage クラスは自動的に mailSettings セクションを参照しますか?

はい

2. カスタム セクションで差出人アドレスを定義しているときに、これが選択されないのはなぜですか。その場合、標準の mailSettings セクションを削除できないのはなぜですか?

「カスタムセクション」の意味がわかりません。自分で定義したカスタム セクションである場合、なぜ自動的に選択する必要があるのでしょうか?

3. MailMessage クラスを使用しているために標準設定を使用する必要がある場合、送信元アドレスを mailSettings セクションとは異なるものとして定義するにはどうすればよいですか? また、そこに送信元アドレスがあるのはなぜですか?

コードで差出人アドレスを明示的に設定しない場合は、smtp 構成の差出人アドレスが使用されます。SMTP サーバーで許可されている場合は、コードで別の From アドレスを設定できます。通常、認証 (*) を必要とする smtp サーバーは、任意の From アドレスの使用を許可しません。この場合、構成で From アドレスを設定する方が理にかなっています。

(*) 私は、smtp サーバーがイントラネットでの認証を必要としない組織で働いていました。通常、CEO からのなりすましメールを 1 通送信するだけで、CEO のやり方を正すことができます。

于 2013-09-17T08:59:55.000 に答える