数日間これについてあれこれ試していますが、なぜメールが動作しないのか見当がつかないのです。ドメインは Namecheap で登録し、Cloudflare に指し示した後、Digital Ocean に Discourse をインストールして Sendgrid の実装を試みています。
Containers フォルダの設定は以下の通りです。
DISCOURSE_SMTP_ADDRESS: smtp.sendgrid.net
DISCOURSE_SMTP_PORT: 2525
DISCOURSE_SMTP_USER_NAME: apikey
DISCOURSE_SMTP_PASSWORD: "Q0Ou956E"(パスワードの大部分は削除済み)
DISCOURSE_SMTP_ENABLE_START_TLS: true # (オプション、デフォルトは true)
## Lets Encrypt テンプレートを追加した場合は、以下をコメントアウトして無料の SSL 証明書を取得してください
LETSENCRYPT_ACCOUNT_EMAIL: matthew@virtusventus.com
Discourse Doctor を実行すると、接続に成功したと表示されます。しかし、Sendgrid のレポートにはメッセージが表示されず、メールも届きません。さまざまな行を調整して検索していますが、どうにもうまくいきません。
何が足りないのでしょうか?
pfaffman
(Jay Pfaffman)
2
それはほぼ間違いなく、SendGridに配信されたことを意味します。
考えられるのは、間違ったSendGridアカウントにログインしていることです。mail-tester.comを使って、そこに到達するかどうかを確認してみてください。
別の可能性として、送信者アドレスの設定が不適切な場合があります。Discourse のホスト名と同じドメインからメールを送信していますか?そうでない場合、通知用メールアドレスを変更しましたか?
「いいね!」 1
Discourse で使用しているドメインは、開発者用メールで使っているものとは異なります… はい、コンテナアプリの末尾にある通知アドレスを、開発者用メールとして使用しているメールアドレスに合わせて変更しました。
「いいね!」 1
変更後に再構築しましたか?
私は SendGrid の専門家ではありませんが、「開発者用メールアドレス」というのがサンドボックスに相当するものを指しているなら、その理由として、サンドボックスでは検証済みのアドレスへの送信のみが許可されている可能性があります。
もしそうではない場合、まず確認すべきは、SendGrid のアカウント内のログで、SendGrid が何らかの理由でメールを拒否していないかを確認することです。
はい、再構築済みです。「開発者のメール」は Discourse で設定されています。それがセットアップで呼ばれているものです。
Discourse Doctor の出力です。しかし、SendGrid では受信されません。
==================== メールテスト ====================
堅牢なテストを行うには、http://www.mail-tester.com/ からアドレスを取得してください。
または、単に自分自身にテストメッセージを送信してください。
メールテスト用のメールアドレスを入力してください(スキップする場合は 'n')[matthew@Virtusventurs.com]:
matthew@Virtusventurs.com へメールを送信中...
smtp.sendgrid.net:2525 を使用して matthew@Virtusventurs.com への送信をテストしています。
SMTP サーバーへの接続に成功しました。
matthew@Virtusventurs.com へ送信中...
SMTP サーバーでメールが受け入れられました。
この行は、メールが SendGrid に到達したことを示しています。したがって、配信されていない理由については SendGrid に確認する必要があります。
「いいね!」 2
皆さん、ありがとうございます。解決できました。SendGrid側の問題でした。
「いいね!」 2