web-dev-qa-db-ja.com

Ubuntu / Postfixのポート587への送信メールの構成

ケーブル接続のあるローカルネットワーク上にバックアップサーバーを構成しています。ケーブルISPはすべてのポート25(smtp)トラフィックをフィルタリングしています。

uname -a

Linux myhost 4.4.0-119-generic #143-Ubuntu SMP Mon Apr 2 16:08:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

結果として、(疑わしい)デフォルトのPostfix構成がポート25を使用しているため、送信メールトランザクションがタイムアウトします(基本的に、シェルからsendmailコマンドを使用して、このサーバーからステータスレポートを送信しています)

宛先サーバーのポート587にTelnet接続できることを確認しました。

# telnet myserver.net 587

Trying x.x.x.x...
Connected to myserver.net.
Escape character is '^]'.
EHLO 220 myserver.net ESMTP Sendmail 8.14.7/8.14.7; Mon, 7 May 2018 18:16:08 
-0500 (CDT)
myhost.net
250-myserver.net Hello hostname [x.x.x.x], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-DELIVERBY
250 HELP

Postfixインストールを更新して、ポート587を使用し、上記のサーバーのプロトコルと互換性があるようにするにはどうすればよいですか? (すでにサポートされていない限り、暗号化は不要/必須ではありません-TLSがこれにあるとは思わないでください)

/etc/postfix/master.cfを編集してこの行のコメントを外してみました:

smtpd     pass  -       -       y       -       -       smtpd

しかし、587を使用していないことを示すタイムアウトエラーが引き続き表示されます。現時点ではufwを有効にしていないので、おそらく問題ではありません。

Postfixに必要な追加の設定オプションがあると思いますか?

5
S.ov

submission (ポート587)を使用して、すべての送信メールを外部メールサーバー経由で中継しようとしていると思います。 submission はクライアントに認証されたSMTPを提供するためのものであり、MTA間の通常の通信はSMTPポート25を使用して行われるため、それ以外のものは意味がありません。

/etc/postfix/master.cfの送信設定は、クライアントに送信smtpdを提供するためのものであり、Postfixが送信メールを送信する方法を変更しません。

代わりに、非ローカルメールの次ホップの宛先を構成する必要がありますつまり、main.cfの-​​ relayhost とこの接続の認証、例えば.

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:USERNAME:PASSWORD
smtp_sasl_security_options = noanonymous 
smtp_tls_security_level = encrypt

relayhost = [198.51.100.10]:587

ローカルネットワーク のPostfix標準構成例にはこの情報がありますが、解釈が難しい場合があります。幸いにも、この特定の使用目的には、次のような詳細なチュートリアルが多数あります。

7
Esa Jokinen

これが私がこれを行う方法を理解する方法です。 /etc/postfix/master.cfの編集を提案するページは多数ありますが、これらは、フィルタリングを行うISPのフィルタリングされていないポートを介してSMTPトラフィックを再ルーティングする問題を解決しません。

そのため、postfixを設定するには、/ etc/postfix/main.cfに追加する必要があります

relayhost = [yourserver.com]:587

次に、ポート25の外側にある他のサーバーを構成しますDMZオフホストメールを転送します。(必要な場合)

1
S.ov

同じ問題が発生し、次のように修正します this

手順:

  1. vim/ etc/services
  2. ここでこの行を変更します。

smtp 25/tcpメール

smtp 587/tcpメール

  1. Postfixを再起動します(私の場合、私はdockerを使用するため、代わりにdockerコンテナー全体を再起動します)

注:/etc/servicesファイルはLinuxに事前に割り当てられているため、変更することは理想的ではないという記事をオンラインで見つけました。

0
Ng Sek Long