メール設定

このページ

EmDashはマジックリンクログイン、ユーザー招待、アカウント回復にメールを使用します。プロバイダープラグインがメールを配信します;プラグインをインストールすることでプロバイダーを選択して設定します。

このガイドでは、メールパイプラインの仕組み、開発環境で何が初期状態で利用できるか、本番環境用に実際のプロバイダーを接続する方法について説明します。

メール配信の仕組み

単一のアクティブなプロバイダープラグインがすべての送信メールを配信します。プロバイダーがアクティブでない場合、メールが必要な機能は利用できません — 招待リンクはユーザーページから手動でコピーして共有する必要があります。

管理画面のSettings → Emailで現在の状態を確認できます:プロバイダーがアクティブかどうか、どのプラグインか、そして完全なパイプラインをテストするsend test emailボタンがあります。

開発環境:組み込みコンソールプロバイダー

開発環境(astro dev)では、他のプロバイダーが選択されていない場合、EmDashは組み込みのコンソールプロバイダーを自動的にアクティブにします。何も送信しません — 各メールをターミナルにログし、最後の100メッセージをメモリに保持します。

つまり、マジックリンクと招待は開発環境で初期状態で機能します:マジックリンクをリクエストし、ターミナル出力からURLをコピーします。開発専用エンドポイントGET /_emdash/api/dev/emailsでキャプチャされたメールをリストすることもできます(DELETEで削除)。

コンソールプロバイダーは開発専用で、本番ビルドでは実行されません。

本番環境:プロバイダープラグインをインストール

Cloudflare Workers

Cloudflareでは、@emdash-cms/cloudflare/pluginsのcloudflareEmail()プラグインを使用します。Worker send_emailバインディングを介してCloudflare Email Sendingで送信するため、外部アカウントやAPIキーは不要です。Cloudflareデプロイメントガイドでは、送信者ドメインのオンボーディング、バインディングの追加、プラグインの登録について説明しています。

Nodeおよびその他のプラットフォーム

コミュニティメンテナンスのemdash-smtpプラグインファミリーは、汎用SMTPとホスト型プロバイダーをカバーしており、Amazon SES、Brevo、Mailgun、Postmark、Resend、SendGrid、Zohoなどが含まれます。

pnpm add emdash-smtp

次の設定でプラグインをEmDashに登録します:

import { defineConfig } from "astro/config";
import emdash from "emdash/astro";
import { emdashSmtp } from "emdash-smtp";

export default defineConfig({
	integrations: [
		emdash({
			// ...データベース/ストレージ設定
			plugins: [emdashSmtp()],
		}),
	],
});

プロバイダーの認証情報は、プラグイン自身の設定を通じて設定されます — プロバイダーマトリックスと設定の詳細については、READMEを参照してください。

プロバイダー認証情報の保存場所

プロバイダープラグインは、APIキーとパスワードをプラグイン設定として宣言します。管理画面のプラグイン設定ページで入力します;EmDashは他のプラグイン設定と一緒にデータベースに保存し、キーのローテーションはそこに新しい値を貼り付けることを意味します。Secrets & Key Managementはストレージとその注意事項を説明しています。

プラグインがデプロイメントシークレット(wrangler secret put、.env)を代わりに読み取れるかどうかは、そのフォーマットに依存するため、READMEに従ってください。サンドボックスプラグインはprocess.envやプラットフォームバインディングにアクセスできません。ネイティブプラグインはprocess.envを読み取れます;ビルド時にインライン化され、ビルドマシンの値をバンドルに焼き付けるimport.meta.envを使用してはいけません。

プロバイダーの選択とテスト

  1. プロバイダープラグインをインストールしてアクティブ化し、管理画面でSettings → Emailを開きます。

  2. 複数のプロバイダープラグインがインストールされている場合、そこでアクティブなものを選択します — 一度に1つだけが配信します。

  3. Send test emailを使用して、完全なパイプラインをエンドツーエンドで検証します。結果は配信エラーを直接表示するため、認証情報をデバッグする最速の方法です。

トラブルシューティング

  • “No email provider is configured” — プロバイダープラグインがアクティブではありません。インストールしてアクティブ化し、Settings → Emailで選択します。
  • マジックリンク/招待が暗黙的に利用不可 — 同じ原因。プロバイダーがないと、ユーザーページは招待を作成しますが、招待リンクを手動でコピーする必要があります。
  • 開発環境では動作するが本番環境で失敗 — 開発環境は組み込みのコンソールプロバイダーを使用し、本番プロバイダーの欠落をマスクします。デプロイされたサイトでSettings → Emailを確認してください。
  • メールがスパムに振り分けられる — メールプロバイダーで送信ドメインのSPF/DKIM/DMARCを設定します;これはプロバイダー側で、EmDash設定ではありません。

関連