2

C#で記述されたMVC3Webアプリケーションがあります。私はMcvMailerを使用して、アプリケーション内から電子メールを送信していますが、すべて正常に機能しています。

私が抱えている問題は、SMTPサーバーがアプリケーションをホストするWebサーバーの近くにないことと、SMTPサーバーが利用できない場合があることです。

ユーザーに電子メールを送信するオプションを提供する前に、SMTPサーバーが使用可能かどうかを検出できる必要があります。これまでのところ、私が思いついた最善の方法は、この投稿の@JohnLeidegren回答のソリューションを使用してSMTPサーバーにpingを実行することです。

ただし、ルーターはSMTPサーバーではなくpingに応答しているようです。サーバーが利用できない主な原因はインターネット接続の失敗であることに留意してください。必要に応じてこのソリューションを使用できますが、試行する前にSMTPサービスの可用性を確認できれば便利です。メールを送信します。

何か案は?

4

1 に答える 1

3

はい、ping は良い出発点ですが、SMTP ゲートウェイが使用可能かどうかを判断するには、SMTP ポート経由で HELO コマンドを発行します。

良い例を探してみます。

編集:

あなたは運がいいです。これは C# で書かれた完全な TELNET クライアントです。 https://www.nuget.org/packages/Telnet

于 2012-05-30T11:23:08.167 に答える