DISCOURSE_SMTP_ADDRESS: mail.mysecrect.tld
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: minegenix@mysecret.tld
DISCOURSE_SMTP_PASSWORD: <secret>
のよう myapp.yml でメールを設定しました。
DISCOURSE_SMTP_ADDRESS: mail.mysecrect.tld
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: minegenix@mysecret.tld
DISCOURSE_SMTP_PASSWORD: <secret>
のよう myapp.yml でメールを設定しました。
ログでも以下が見つかりました。
fail
Delivered mail 3ff63fed-4142-4042-ab33-29493b32b3a6@beta2.mysecret.tld (30001.9ms)
Job exception: execution expired
DISCOURSE_SMTP_ENABLE_START_TLS: false をアプリに追加する必要があるかもしれません。
承知しました。ちなみに、私はMailcowを使用しています!
サーバーは discourse beta2.mysecret.tld - mysecret.tld ではありませんか?
これらのオプションを試してください。
DISCOURSE_SMTP_ADDRESS: 172.17.0.1 # 内部IPを使用 - mail-server ドメインが正しく解決されない可能性がある
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: "YOUR-SMTP-USER-NAME"
DISCOURSE_SMTP_PASSWORD: "YOUR-SMTP-PASSWORD"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (オプション、デフォルトはtrue)
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_DOMAIN: mysecret.tld
mysecret.tld は、フォーラムのアドレスを公開したくないため、私の実際のドメインを隠すためのプレースホルダーです ![]()
送信者メールアドレスが「…\@**beta2.**mysecret.tld」のようになっているのに、mailcowのアカウントが「…\@mysecret.tld」用である、ということでしょうか?
いいえ、私は… @ mysecret.tld からメールを送信しています。サイトは beta2.mysecret.tld で実行されています。
はい、現在それを行っています。
再構築のたびにブートストラップが必要ですか?
設定を追加しましたが、改善しませんでした。
./launcher enter app
getent hosts を使用して、SMTPサーバー名のDNS解決を確認する:(コンテナ内には dig、nslookup、ping などはインストールされていません。)
getent hosts your.smtp.server
成功時の結果:
# IPv4
123.123.123.123 your.smtp.server
# IPv6
2001:db8:0:0:0:ff00:42:8329 your.smtp.server
openssl を使用して、SMTPサーバーへの接続を試みる:(コンテナ内には telnet、nc などはインストールされていません。)
接続に成功するまで、いくつかの異なる設定を試してください。
openssl s_client -connect your.smtp.server:465
openssl s_client -connect your.smtp.server:587 -starttls smtp
# IPv4
openssl s_client -connect 172.17.0.123:465
openssl s_client -connect 172.17.0.123:587 -starttls smtp
# IPv6
openssl s_client -6 -connect "[2001:db8:0:0:0:ff00:42:8329]:465"
openssl s_client -6 -connect "[2001:db8:0:0:0:ff00:42:8329]:587" -starttls smtp
参照: SMTP接続の確認方法 – > ステップ3: Opensslを使用したTLS経由のSMTP接続の確認
![]()
(コンテナ内には ifconfig、ip などはインストールされていません。)
hostname -I
結果例:
172.17.0.2
opensslで接続できません。また、getentからは以下しか取得できません。
2606:4700:3032::ac43:d2f1 mail.secret.tdl
2606:4700:3033::6815:4db8 mail.secret.tld
(secret.tldは実際のドメインに置き換えています)
当てずっぽうですが:これはパブリックIPですか?お使いのMailcowは、このパブリックIPでSMTP接続をリッスンするように設定されていますか、それとも内部ネットワークのみですか?
Discourseコンテナ内では、以下のコマンドでコンテナのIPを取得できます:
hostname -I
お使いのMailcowも同じ内部(Docker)ネットワーク上にありますか?
172.17.0.2 は hostname -I から取得したものです
Mailcowコンテナに入り、hostname -Iも取得できますか?MailcowとDiscourseは、同じホスト上の別々のDockerコンテナですか?
mailcowコンテナに入るにはどうすればよいですか?ランチャースクリプトがありません。
mailcowについても分かりません。mailcowコミュニティに問い合わせるのが良いかもしれません: https://community.mailcow.email/
メールシステムには何を使用すればよいですか、またはUbuntuにセットアップしてフォーラムのメールサービスとして機能するソフトウェアは何ですか?