web-dev-qa-db-ja.com

SMTPサーバーをテストする方法は?

wormly.com でSMTPサーバーをテストしています

テストを行うと、最終的には

> SMTP -> FROM SERVER: 250 2.1.0 Ok RCPT TO: [email protected]
> SMTP -> FROM SERVER: 554 5.7.1 : Relay access denied SMTP -> ERROR:
> RCPT not accepted from server: 554 5.7.1 : Relay access denied

メッセージの送信に失敗しました。

これを利用してメールサーバーをセットアップします リンク

4
subodh

サードパーティのWebサイトがサーバーに接続しており、外部ドメインに電子メールを送信できないため、これは正しいメッセージです。

理想的には、構成に従って、自分のドメインの1つに電子メールを送信する場合、配信する必要があります。

オープンリレーを行っていた場合、つまり、任意のドメインの電子メールを受け入れるとしたら、それは大きなセキュリティリスクになり、すぐにサーバーがブラックリストに登録されることになります。また、ISPに悪用の問題を引き起こす可能性があります。

メールサーバーのテスト

管理が不慣れな場合は、独自のサーバーをセットアップするのではなく、 Mandrill.com などのサービスを使用してトランザクションメールを送信することを強くお勧めします。それは、善よりも害を引き起こす可能性があります。

ただし、コメントに基づいて、メールサーバーをセットアップしてテストする必要があります。それは簡単な作業ではなく、さまざまなレベルでのテストが必要です。基本レベルで次のことを試してください。

a)仮想ドメインと、そのドメイン内の仮想ユーザーを作成します

b)サーバーのポート25にtelnetを実行し、そのドメインにメールを送信して、配信されているかどうかを確認します。別のコンソールからtail -f /var/log/mail.log -fを介してエラーログを確認できます。 telnetの使用は簡単です

  telnet yourserver.com 25
  helo test.com
  mail from: <[email protected]>
  rcpt to: <[email protected]>
  data
  Type any content that you want, press enter, then put a period (.) and then enter to exit
  .

次に、エラーログを使用して、電子メールが正常に配信されたかどうかを確認します。完了すると、受信メールが正常に機能することがわかります(そのドメインのAレコード/ MXレコードが正しく設定されている場合)。それ以外の場合、エラーに基づいて、問題を修正します。

c)sshを介してサーバーにログインし、mailコマンドを使用して電子メールを送信します

  echo "Test Email from the new server" | mail -s "Test Subject" [email protected]

Gmailのスパムフォルダーを確認します。すべてがうまくいけば、そこに着いたはずです。これにより、送信メールをチェックアウトできます。

Java Webアプリケーションが同じサーバー上にある場合、アプリケーション内でlocalhostを電子メールサーバーとして使用できます。別のサーバー上にある場合は、postfix/main.cfmynetworks行にそのサーバーのIPアドレスを入力し、postfixを再起動して、認証なしでメールを送信できます。

繰り返しますが、間違った構成はサーバーの誤用につながる可能性があるため、注意してください。

8
Vivek Kapoor