ホストされた仮想プライベートサーバー上の123-regとDiscourseでメールが機能しない - 他のすべての側面は表示されます

こんにちは

Discourseの管理者としての初めてのユーザーです。メールの設定を試していますが、うまくいきません。

app.ymlを編集してから./launcher rebuild appを実行しています。

これらの設定を使用しています:-

discourse_smtp_address: "smtp.gmail.com"
discourse_smtp_port:587
discourse_smtp_domain: mydomainname.com
discourse_smtp_user_name = 'myemailaddress@gmail.com'
discourse_smtp_password = 'mypassword'
discourse_smtp_enable_start_tls = true
discourse_smtp_authentication = login

または

DISCOURSE_SMTP_ADDRESS: smtp.123-reg.co.uk
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: myemail@mydomainname.co.uk
DISCOURSE_SMTP_AUTHENTICATION: YES
DISCOURSE_SMTP_PASSWORD: mypassword
DISCOURSE_SMTP_ENABLE_START_TLS: Yes

これら(および数多くの)他のバリエーションも機能しません。

./discourse-doctorを実行します。

net::readtimeout
または
コマンドについて知らない_cに関する何か

私が間違っていることを教えてくれる人はいますか?

ホストからSMTPサーバーにtelnetできます。

よろしくお願いします。

そして、正常にメールを送信できますか?

正直、そこまで進んでいません。

現在、以下を使用しています。

DISCOURSE_SMTP_ADDRESS: smtp.123-reg.co.uk
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: myemail@mydomain.co.uk
DISCOURSE_SMTP_AUTHENTICATION: YES
DISCOURSE_SMTP_PASSWORD: myPasswordwithCharacter#
DISCOURSE_SMTP_ENABLE_START_TLS: YES

以下のエラーが出ています。

Net::SMTPAuthenticationError

同じパスワードでWebメールには問題なくログインできます。

ポート25でtelnet smtpが機能します。123-regで。

アプリを再構築しました

現在、./doctor-discourse に以下の状態です。

smtp.123-reg.co.uk:465 を使用して myemail@mydomain.co.uk に送信をテスト中、ユーザー名: myemail@mydomain.co.uk、認証は true。
======================================== エラー ========================================

                                予期せぬエラー

undefined method `to_sym’ for true:TrueClass
Did you mean? to_s

それはバグのようにも思えますが、メール送信コードにバグがあるとは考えにくいですね。

Troubleshooting email on a new Discourse install を参照して、試せることを確認してください。(discourse-doctor を実行せずにテストする方法など)。

ああ、これだ。「YES」は smtp_validation の有効な値ではありません。

Must be plain, login, or cram_md5.

これは app/services/email_settings_validator.rb にあります。githubで見つけたい人がいるかもしれません。

「いいね!」 2