1

asp.netでメールの送信を無効にする簡単な方法はありますか?Webフォームを使用していますが、開発サーバーで作業しているときに電子メールを送信したくありません。システムがメールを送信するすべての場所にコメントを付けることはできますが、もっと簡単な方法があると思います。

ありがとう

4

4 に答える 4

6

うまくいけば、「メール送信」機能を一元化できます。それなら簡単です。ローカル/デバッグであるかどうかを確認します。

HttpContext.Current.Request.IsLocal || HttpContext.Current.IsDebuggingEnabled

そして、適切に対応します。

実際にメールを送信することを選択しましたが、を自分のメールアカウントに変更し、メッセージ内の、、、およびが誰でtoあるかについてのメッセージを追加します(実際のメールが送信されないように、これらのフィールドをすべてクリアしてください)。これにより、送信メールが期待どおりに機能しているかどうかを確認できます。特に、テンプレートを切り替えたり、メール内のデータを置き換えたりする場合はそうです。toccbcc

「電子メールの送信」機能を一元化していない場合は、弾丸を噛んでそれを実行する時期かもしれません。

于 2013-03-01T17:39:15.260 に答える
0

一般的に言えば、これを処理する最も簡単な方法は、電子メールの構成部分にあります。通常、これはデータベースまたはweb.config設定のいずれかです。探しているのは、メッセージの送信に使用するメールサーバーの名前を定義する部分です。

于 2013-03-01T17:37:23.397 に答える
0

あなたがやろうとしていることをする最も簡単な方法は、少しのアーキテクチャを含みます:

アプリが送信するすべてのメールアドレスは、web.configの変数である必要があります。この時点で、メールアドレスの文字列行を複製してコメントアウトし、すべてのメールを自分宛てに設定することが簡単になります。

それ以外の場合は、prodにプッシュすると、多くのファイルでエラーが発生しやすい行ごとにメールを送信する場所をコメントアウトする必要があります。そうしないと、テスト中にメールを送信する予定のときにアプリがタイムアウトします。

プロパティを使用することもできます:http://msdn.microsoft.com/en-us/library/65zdfbdt%28v=vs.71%29.aspx

于 2013-03-01T17:58:10.777 に答える
0

私がお勧めします:

  1. 環境に依存する設定にはconfigSourceを使用します(たとえば、App_Data \ config\devやApp_Data\config \ liveなど)。
  2. あなたの開発設定ファイルには、-のように空のSMTP設定があります

電子メールは送信されず、例外もスローされません(少なくとも、私が使用している.NETフレームワークの4.5.2です。

お役に立てれば。

于 2019-02-10T14:49:13.170 に答える