wal
2024 年 7 月 23 日午後 12:48
1
DiscourseサーバーをDigitalOceanでホストし、ドメインはPorkBun、メーラーはMailGunを使用しています。
MailGunアカウントは有効化されており、ドメイン(discourse.mydomain.com)はmg.mydomain.comでの使用のために検証済みです。すべてのDNS TXTレコードは設定済みです。
ここに記載されているすべてのトラブルシューティング手順を何度も試しました。Troubleshoot email on a new Discourse install
ホストでtelnetを入力し、手動でメールを送信しても問題ありません(https://serverfault.com/questions/49935/easiest-way-to-send-a-test-email-from-a-server-to-test-settings)。
app.ymlの内容は以下の通りです。
DISCOURSE_DEVELOPER_EMAILS: 'myemail@gmail.com'
DISCOURSE_SMTP_ADDRESS: smtp.mailgun.org
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: mail
DISCOURSE_SMTP_PASSWORD: "12345678901234567890"
DISCOURSE_SMTP_DOMAIN: mg.mydomain.com
DISCOURSE_NOTIFICATION_EMAIL: admin@mg.mydomain.com
discourse-doctorを実行しようとしたり、./launcher enter appを実行してからrake 'emails:test[mail@mg.mydomain.com]'を実行すると、以下のエラーが発生します。
======================================== ERROR ========================================
UNEXPECTED ERROR
Net::SMTPAuthenticationError
====================================== SOLUTION =======================================
This is not a common error. No recommended solution exists!
Please report the exact error message above to https://meta.discourse.org/
(And a solution, if you find one!)
=======================================================================================
手動でメールを送信する際には問題がないため、Discourse側に問題があるようです。Googleやフォーラムで何時間も検索しましたが、まだ解決策は見つかっていません。何かアイデアはありますか?
pfaffman
(Jay Pfaffman)
2024 年 7 月 23 日午後 4:47
2
ユーザー名またはパスワードに問題があります。パスワードにアスタリスクやシングルクォートなどのエスケープが必要な文字が含まれている可能性があります(そのため、その文字を含まないようにパスワードを変更するのが最も簡単です)。
新しいDiscourseのインストールでメールをトラブルシューティングする を参照してください。
「いいね!」 2
wal
2024 年 7 月 23 日午後 8:18
3
パスワードにはこれらの文字が一切含まれていません。実際、これはMailGunの自動生成されたパスワードで、文字、数字、およびいくつかの「-」文字しか含まれていません。かなり長いです。
pfaffman
(Jay Pfaffman)
2024 年 7 月 23 日午後 8:20
4
それが私の最善の推測でした。新しいパスワードを生成したり、もう一度コピー&ペーストしたりすることをお勧めします。Discourseのバグである可能性は極めて低いです。
「いいね!」 1
DISCOURSE_SMTP_USER_NAME が間違っていると思います。mail では Mailgun で認証するには不十分でしょう。おそらく mail@mg.mydomain.com であるべきです。
DISCOURSE_SMTP_DOMAIN をユーザーのドメインだと思っているのではないでしょうか?そうではありません。EHLO ドメインです。設定する必要はほとんどないはずです。
「いいね!」 1
wal
2024 年 7 月 23 日午後 8:32
6
私も今気づきました。telnet でテストしたときは、ユーザー名として「mail@mg.mydomain.com」を使用したところうまくいったので、DISCOURSE_SMTP_USER_NAME としてそれを使ってもう一度試してみます。
DISCOURSE_SMTP_DOMAIN はユーザーのドメインだと考えているのではないでしょうか?そうではありません。EHLO ドメインです。設定する必要はないでしょう。
これが何を意味するのかよくわかりません。
MailGun では mg.mydomain.com を使用し、Discourse では discourse.mydomain.com を使用していました。現在、mydomain.com の DNS レコードは設定しておらず、Discourse のサブドメインと MailGun の DNS の TXT レコードのみ設定しています。
wal:
これが何を意味するのかよくわかりません
DISCOURSE_SMTP_DOMAIN の行を削除してください。ほとんどの場合、必要ありません。
これは、HELO/EHLO ドメインとして SMTP 交渉中に使用されます。
「いいね!」 1
wal
2024 年 7 月 23 日午後 8:34
8
ああ、そうだ。telnetでテストしたとき、実際に以下のすべてのアドレスからメールを送信できました。
mail@discourse.mydomain.com
mail@mydomain.com
mail@mg.mydomain.com
実際に使用すべきなのはどれか分かりません。関係ありますか?
wal:
実際にはどちらを使用すべきかわかりません。
それは、あなたのセットアップと、メールフローをどのようにしたいかによって異なります。
「いいね!」 1
wal
2024 年 7 月 23 日午後 8:45
10
動作するようになりました。ご協力いただいた皆様、ありがとうございました
解決策は、
DISCOURSE_SMTP_USER_NAME: mail
の代わりに
DISCOURSE_SMTP_USER_NAME: mail@mg.mydomain.com
を使用することでした。
「いいね!」 2
system
(system)
クローズされました:
2024 年 8 月 22 日午後 8:45
11
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.