自己ホスト型の Discourse インストール環境を使用しており、SMTP サーバーとして socketlabs.com を利用しています(無料プランでは 40,000 件のメール送信が可能です)。どの認証プロトコルを使用しても、メールが動作しませんでした。
以下の通り、lib/tasks/emails.rake を修正することで問題を解決しました。
以下の行を変更します:
Net::SMTP.start(smtp[:address], smtp[:port], 'localhost', smtp[:user_name], smtp[:password])
以下のようにします:
Net::SMTP.start(smtp[:address], smtp[:port], 'localhost', smtp[:user_name], smtp[:password], smtp[:authentication])
この設定がない場合、より低レベルの SMTP コードはデフォルトの ‘plain’ 認証に戻ってしまうようです。