2009-04-16 18 views
2

私のアプリの設定プロセスの一環として、ユーザーが提供するすべてのデータを検証する正常性チェッカーがあります。これには、アプリが電子メールの送信に使用する電子メールサーバーの設定が含まれます。メールを送信せずにメール設定をテストするにはどうすればよいですか?

実際に電子メールを送信せずにこれらの設定を簡単に確認したいと思います。これが、認証/ ssl/etcを含むものを含むSMTP設定のすべての標準的な味をサポートすることができれば素晴らしいでしょう。

それは網羅的である必要はありませんが、より多くのカバレッジ、より良い。

現在のところ、特定のポートで特定のサーバーへの接続を開くことができます。もう少し深いものが良いでしょう。

注:私はではありません。は、電子メールアドレスを検証しようとしていません。この質問には該当しません。

答えて

4

あなたはちょうどそのユーザー用品サーバー&ポートへの生の接続を開き、(SMTP認証が有効になっている場合)、有効なHELO応答&送信者OKレスポンス を取得するかどうかを確認するために

HELO Server.Domain.Com 
Mail From: [email protected] 

を行います。

サーバーにtelnetで直接接続する場合と同じです。

http://www.petri.co.il/test_smtp_service.htm

また、これは便利かもしれません

http://qmail.jms1.net/test-auth.shtml

+0

私は安全なsmtpサーバを使用していますが、ここまではどのくらいの距離になりますか?パスワードを提供したり、SSL/TLS接続を開始する場所はどこですか? –

+1

わからないt.b.h.それをテストする必要は一度もありません。このリンクを試すことができます。 openssl/encoding /とAuthコマンドhttp://qmail.jms1.net/test-auth.shtmlを使って詳細を説明します –

+0

Eoinに感謝します。その追加リンクは非常に役に立ちます –

1

誰かがより明るく、より適任であれば、より良い答えが得られるはずです。しかし、最初の赤面で私はあなたがに成功する能力を確認することができないと言うでしょう実際に電子メールを送信せずにメールを送信します。

ただし、プロセスを自動化する場合は、 '[email protected]'(またはローカルドメイン)のアドレスを使用できます。

次に、電子メールアドレスを監視するウォッチドッグアプリケーションを作成するか、プログラムでその電子メールアドレスとインターフェイスをとってX分間以内に電子メールが受信されたかどうかを確認する単純なアプリケーションを作成できます。この方法で、電子メールを送信できることを100%確実にすることができます。 このリンクはhow to programmatically check gmail addressesを示しています。

重要な注意:アプリケーションが外部電子メールを送信している場合は、使用している電子メールアドレスが外部である場合、サーバーが外部電子メールを送信できない可能性がありますが、あなたの健全性チェックは偽陽性を送るでしょう。

+0

@devinb:ヒントに感謝します。これは内部使用のみであり、クイックサニティチェックのために実際には何も送信しません。後でそのプロセスのためのステップがあります。ありがとう! –

関連する問題