メールに関するバグの可能性:証明書検証に失敗しました(ローカル発行者の証明書を取得できません)

新しいサーバーに Discourse をインストールしたところ、Mac や iPhone から同じアドレスでメールを送受信(証明書などのエラーなし)できるにもかかわらず、メール(certificate verify failed (unable to get local issuer certificate))で問題が発生しました。

ここにあるガイド How to Test SMTP AUTH using Telnet [] を使用して再度テストしたところ、235 2.7.0 Authentication successful となり、パスしました。

最終的に、別のスレッドの @Falco さんの投稿に従って、app.yml に以下を追加しました。

  DISCOURSE_SMTP_ENABLE_START_TLS: false
  DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none

しかし、同じメールと認証情報が他の場所では問題なく動作しているため、これはバグのように感じます。念のため、ここに投稿しました。

表示されたエラーはメールプロトコルに関連しており、アドレス固有のものではありません。何らかの理由で、Discourseインスタンスが宛先のメールサーバーとのTLS接続をネゴシエートできていません。メール送信接続中のTLSネゴシエーションをオフにすることで、この問題を解決しました。

携帯電話を使用している場合、おそらく別のサーバー経由でメッセージを送信しているか、同じ宛先サーバーであっても、携帯電話はTLSを正しくネゴシエートできています。

「いいね!」 2

クリス、これをトラブルシューティングする方法について何かアイデアはありますか?

MacとiPhoneの両方を、メール送信のために同じmail.domainサーバーを使用するように設定しましたが、このテストは成功しました(ただし、これがDiscourseが行っていることをどの程度正確に再現しているかはわかりません)。

時計が大幅にずれていると、証明書は実際には期限切れでなくても期限切れに見えることがあります。メールプロバイダーが使用しているSSLライブラリが不完全である可能性があります。

「セキュリティを無効にする」ボタンをクリックすることは、決して推奨されません。

「いいね!」 1

サーバーの時刻は正しいです、サム。Discourse はメールサーバーにどの SSL ライブラリを必要としますか?

これが奇妙なのは、(Apple)Mail は通常、問題について非常に迅速に警告しますが、同じメールが私の Mac では正常に機能することです。

他に考えられるのは DNS の伝播です。これは新しいサーバーであり、メールホストは古いサーバーとは少し異なっていましたが(ただし、メールはフォーラムと同じサーバーでホストされているため、これが問題になるとは確信していません)。

「いいね!」 1

サム、ありがとう!解決しました!

なぜか chain.pem を Postfix で設定するのを忘れていました :smiling_face:

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.