外部データベースに登録されているメールアドレスのみでアカウントを作成

Discourseの専門家ではありませんが、これを処理する方法は多数あり、その中で私が多分機能するだろうと考えて試しに検討してみたい方法は以下の通りです:

  1. 新しいDiscourseユーザーには承認を必須にする
  2. リモートウェブサイトまたはサーバーレス環境でスクリプトを開発し、データベースから人物を検索して、Discourse APIを呼び出し、新しいユーザーを承認または却下する
  3. 新しいユーザーが登録された際に、Discourseがそのスクリプトにウェブフックを呼び出すように設定する
  4. ユーザーに対して何が起こっているかをより明確に伝えるよう、Discourseの文言をカスタマイズする

基本的に、Discourseは優れたウェブフックとAPIを提供しているため、あなたが得意とする言語でリモートにカスタムスクリプトを書きながらそれらを利用できます。

もしRubyでDiscourseプラグインを書くことに抵抗がなければ、それも機能しますが、個人的にはその方法ではなく、こちらの方が簡単だと考えます。