インストールの開始前にテストメールを設定する

discourse-doctor ツールはテストメールを送信できます。これも discourse-setup ツールに追加する必要があります。ユーザーが入力した SMTP データが機能するかどうかを、ソフトウェアスタック全体をセットアップする前に、簡単なメールテストで確認してください。メモにあるように、メールが正しくセットアップされていない場合、これは機能しません。

インストーラーが 1 つのデータさえも誤って入力した場合、これにより多くの時間を節約できます。

Hmm。このように、半ば無思考なSMTPテストを実行できるようです。

echo Hello world > /tmp/mail.txt
curl -v  smtp://$DISCOURSE_SMTP_ADDRESS:$DISCOURSE_SMTP_PORT  \
  --mail-from noreply@$DISCOURSE_HOSTNAME \
  --mail-rcpt $(echo $DISCOURSE_DEVELOPER_EMAILS | cut -d ',' -f 1) \
  --user $DISCOURSE_SMTP_USER_NAME:"$DISCOURSE_SMTP_PASSWORD" \
  --upload-file /tmp/mail.txt

ですから、そのようなテストを実行できるはずです。懸念しているのは、多くの偽陽性や偽陰性が発生する可能性があることですが、失敗した場合に警告を表示することで、一部の人々を助けることができるかもしれません。

おそらく、より良いアイデアは、別のスクリプト(discourse-mail-check?)で、問題が発生している場合にそのような迅速かつ簡単なテストを実行することでしょう。

ユーザーがSMTPの詳細を入力した直後にテストを実行したいと考えていました。ユーザーが指定したアドレスにテストメールを送信し、受信したかどうかをユーザーに尋ねます。受信していれば、インストールを続行します。受信していなければ、再テストするか、SMTP設定を変更して再試行できます。

「いいね!」 2

Install Discourse on Amazon Web Services (AWS) with Lightsail, SES, and Route 53 - #4 by wal の投稿で説明したように、telnet を使用して、ここで説明されている方法で完全な discourse-setup スクリプトを実行する前にテストメールを送信することができました。

特に、そこにあるポート 25 の代わりにポート 587 を使用し、SMTP ユーザー名とパスワードを base64 でエンコードする必要があることに注意してください。

また、その投稿でリンクされているのは、AWS が提供するスクリプトで、openssl コマンドを使用して同様のことを行う方法を示しています (リンクはこちら。Creating configuration sets in SES - Amazon Simple Email Service )

メールサーバーとして AWS SES を使用していない場合は、スクリプトを少し調整する必要があるかもしれませんが、一般的に、これらの一方または両方が、インストール前にメールを検証するのに役立つと思います (これが私がやったことです)。

理想的にはインストール前にメールをテストする方法があるべきであることに同意しますが、Discourse にスタンドアロン スクリプトとして同梱する方が、セットアップ プロセス全体 (~10 分) を実行せずに実行できるため、実際には好ましいかもしれません。

「いいね!」 1