Discourseの無料SMTPサービスとしてMailjetを使用する方法

この小さなチュートリアルでは、Discourse の無料 SMTP サービスとして Mailjet を使用する手順を紹介します。

現在、Mailjet ではクレジットカード情報の登録なしで、月に 6000 通、または 1 日あたり 200 通まで無料でメールを送信できます。

サインアップ
こちらからサインアップしてください(アフィリエイトリンクではありません):

その後、メール内のリンクをクリックしてアカウントを有効化してください。

ドメインの作成
アカウント設定へ移動: Mailjet

「送信ドメインまたはアドレスの追加」ボタンを押します。

次に、ドメインを追加します。
(ドメインを検証するには、ウェブサイトのホスティングまたはドメイン登録アカウントへのアクセスが必要です。)

新しいドメインの追加

DNS によるドメインの検証
DNS ホストにログインしてください。

Mailjet から提供された情報に基づいて、新しい DNS レコードを追加します。

新しい TXT DNS レコードを DNS サービス(この場合は Cloudflare)に追加します。

Mailjet の画面に戻り、「今すぐチェック」ボタンを押して検証を完了してください。

完了すると、以下のような画面が表示されます。

SPF 認証の設定
Mailjet の「Sender & Domain」セクションでこのオプションが見つかります。

推奨設定で新しい TXT DNS レコードを作成します。

これで、緑色の設定画面が表示されるはずです。

DomainKeys/DKIM の設定

新しい TXT DNS レコードを作成してください。
必ず 1 行で記述してください!

ユーザー名とパスワードの設定
まず、シークレットキーを生成する必要があります。これは最終的に SMTP パスワードになります。
API キー管理ページに移動してください。

このページでは、API キー(これが SMTP ユーザー名になります)が作成されていることが確認できますが、一部が伏せられています。一方、シークレットキーは生成する必要があります。

シークレットキーを生成ボタンをクリックすると、API キーシークレットキーが含まれる新しいモーダル画面が表示されます。これらを安全な場所にコピーしてください。次のステップで必要になります。シークレットキーを紛失した場合、再生成して Discourse の SMTP 設定をやり直す必要があります。

これで、MailJet の SMTP および SEND API 設定ページにアクセスし、必要なその他の設定を取得できます。

Discourse のインストール
Discourse の初期設定では、以下の設定を使用してください。

  • SMTP サーバーアドレス = MailJet SMTP サーバー
  • SMTP ポート = SMTP ポート(25 または 587。一部のプロバイダーはポート 25 をブロックしている場合があります。)
  • SMTP ユーザー名 = コピーした MailJet API キー
  • SMTP パスワード = コピーした MailJet シークレットキー

設定は以下のように表示されます。

これで設定は完了し、サービスを使用する準備が整いました。:partying_face: :partying_face: :partying_face:

MailJetでアカウントを設定し、テストしています。

Discourseで新しいユーザーがアカウントを登録すると、noreply@XXX.comからアクティベーションメールが届きます。これは正常に機能します。

しかし、ユーザーが私(管理者)admin@XXX.comにメールを送信しようとすると、バウンスバックします。

554 5.7.1 admin@XXX.com: Relay access denied

これを修正するにはどうすればよいですか?

やりたいことによっては、これはDiscourseの問題ではない可能性が高いです。

Discourseが使用する一括メール機能に加えて、個別のメールのSMTPサーバーとしてMailjetを使用しようとしている場合、それは実際にはサポートされていません。Can I use Mailjet for my internal office email communications? このようなメールを送受信するには、別のサービス(Google Workspace、Zoho Mailなど)を設定する必要があります。

@JammyDodger これを更新できませんが、スクリーンショットと手順の一部が古くなっています。

もし更新にご興味があれば、ウィキにしてガイドセクションに移動させることができますよ?(:crossed_fingers:

はい、喜んでご説明し、可能な限り更新させていただきます。数日かかるかもしれません。

@JammyDodger Discourseの設定部分を更新しました。DKIMなどの設定はまだ確認していませんが、そちらについてもできることを確認します。

Namecheap のスクリーンショット

注:
ドメイン名自体は、ホストフィールドに含めるべきではありません。これは、_domainkey.yourdomain.tld のようなレコードを追加する必要がある場合、サービスプロバイダーがドメイン自体も追加するように求めたとしても、ホストの値として something._domainkey のみを追加する必要があることを意味します。これはシステム要件です。

ありがとうございます!後でSMTPデータを変更するにはどうすればよいですか?このガイドでは、Discourseの初期インストール中にこれを行う方法について説明します。

MailJetに特化したものではありませんが、Change SMTP settings in a working forum - #5 by slackmoehrle に詳細があります。