Postfixからdocomoやocnへメールを送信しようとすると、「Cannot start TLS: handshake failure」といったエラーが表示され、メールが届きませんでしたた。ただ、Postfixが何回か再送を試みていると成功するようです。つまり遅延して届くことになります。
いろいろ調べてもなかなか解決方法が見つからず、諦めかけていた時に下記のツイートに巡り合いました。
ほんと感謝です。Postfixの設定ファイル main.cf に下記の記述を追加してPostfixを再起動したところ、正常に送れるようになりました。
tls_ssl_options = legacy_server_connect
この記述はセキュリティを甘くするもので、少々危険なもののようです。以下、ChatGPT先生の解説です。
tls_ssl_options = legacy_server_connect の設定は、PostfixがTLS/SSLで外部のサーバに接続する際の動作を制御するものです。
具体的には、legacy_server_connect というオプションを指定することで、以下のような動作となります:
安全でないレガシーな再ネゴシエーションを許可する: この設定を行うと、Postfixは安全でないレガシーなTLS再ネゴシエーションを許可します。これは、古いサーバやクライアントとの互換性を維持するためのものです。
推奨されない: 一般的に、安全でない再ネゴシエーションは、中間者攻撃(MITM)のリスクがあるため、セキュリティ上のリスクが関与します。したがって、このオプションは互換性の問題が発生している場合や特定の環境でのみ使用すべきです。
この設定は、特定の問題や遭遇したエラーを解決するための一時的なものとして使用することが考えられますが、長期的な運用での使用は推奨されません。安全性を確保するために、このオプションを使用する必要がなくなった場合は、設定から削除することをおすすめします。
あまり推奨される設定では無いようですので、ご利用にはご注意を