cloudflare-email-service について
Cloudflare Email Serviceを扱うエージェント向けのスキルです。最新情報の取得を優先し、メール送信、受信処理、設定、到達率の確認を案内します。
主な機能
- 01最新情報の取得を優先
- 02WorkersとAgents SDKからの送信
- 03REST APIによる送信
- 04受信メールのルーティング処理
- 05Wranglerの設定ガイド
- 06到達率に関する資料
活用シーン
- 01Workerでトランザクションメールを実装
- 02外部アプリからメールを送信
- 03ルーティングされた受信メールを処理
- 04メールドメインを設定
MCP 対応
このスキルは、最新ドキュメントを参照するためにCloudflare MCPの`docs`ツールを案内し、MCPツールを設定方法の一つとして挙げています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cloudflare/ skills --skill cloudflare-email-serviceインストール後、Claude Code で/cloudflare-email-serviceを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/cli-and-mcp.mddeliverability.mdrest-api.mdrouting.mdsending.md詳細
Cloudflare Email Service
Cloudflare Email Service、Email Routing、または Email Sending に関する知識は、古くなっている可能性があります。Cloudflare Email Service に関するタスクでは、事前学習よりも情報の取得を優先してください。
Cloudflare Email Service を使うと、Cloudflare プラットフォーム上でトランザクションメールの送信と受信メールのルーティングを行えます。この製品に関する知識は古くなっている可能性があります。2025 年に提供が始まり、急速に進化しています。Email Service に関するタスクでは、事前学習よりも情報の取得を優先してください。
このスキルと以下の情報源に食い違いがある場合は、必ず元の情報源を信頼してください。 Cloudflare のドキュメント、REST API 仕様、@cloudflare/workers-types、Agents SDK リポジトリが信頼できる情報源です。このスキルは参考用のガイドであり、最新の変更が反映されていない場合があります。判断に迷った場合は、以下の情報源から情報を取得し、その内容に従ってください。
情報の取得元
| 情報源 | 取得方法 | 用途 |
|---|---|---|
| Cloudflare ドキュメント | Cloudflare MCP の docs ツール、または URL https://developers.cloudflare.com/email-service/index.md | API リファレンス、制限、料金、最新機能 |
| REST API 仕様 | https://developers.cloudflare.com/api/resources/email_sending/index.md | Email Sending REST API の OpenAPI 仕様 |
| Workers の型定義 | https://www.npmjs.com/package/@cloudflare/workers-types | 型シグネチャ、バインディングの形式 |
| Agents SDK ドキュメント | Email エージェントのガイド | Agents SDK でのメール処理 |
最初に:前提条件を確認する
メールのコードを書く前に、基本的な設定が整っていることを確認してください。
- ドメインはオンボーディング済みですか?
npx wrangler email sending listを実行して、メール送信が有効になっているドメインを確認します。ドメインが一覧にない場合は、npx wrangler email sending enable userdomain.comを実行するか、設定手順の詳細について cli-and-mcp.md を参照してください。 - バインディングは設定されていますか?
wrangler.jsonc(Workers の場合)にsend_emailがあるか確認します。 - postal-mime はインストールされていますか?
npm ls postal-mimeを実行します(メールの受信/解析にのみ必要です)。
何をしたいですか?
ここから始めてください。該当する状況を選び、リンク先で詳細を確認してください。
| やりたいこと | 方法 | 参照先 |
|---|---|---|
| Cloudflare Worker からメールを送信する | Workers バインディング(API キー不要) | sending.md |
| Cloudflare Agents SDK で構築した AI エージェントからメールを送信する | Agent クラスで onEmail() + replyToEmail() を使用 | sending.md |
| 外部アプリまたはエージェント(Node.js、Go、Python など)からメールを送信する | Bearer トークンを使用した REST API | rest-api.md |
| コーディングエージェント(Claude Code、Cursor、Copilot など)からメールを送信する | MCP ツール、wrangler CLI、または REST API | cli-and-mcp.md |
| 受信メールを処理する(Email Routing) | Workers の email() ハンドラー | routing.md |
| Email Sending または Email Routing を設定する | wrangler email sending enable / wrangler email routing enable、または Dashboard | cli-and-mcp.md |
| メールの到達率を向上させ、迷惑メールフォルダーへの振り分けを避ける | 認証、コンテンツ、コンプライアンス | deliverability.md |
送信ワークフロー
Workers ではバインディングを優先し、外部アプリから送信する場合や明示的に求められた場合は REST を使用してください。コードを書く前に、選択したタスクに関するドキュメントを取得するため、sending.md または rest-api.md を確認してください。これらのガイドでは、設定、宛先、添付ファイル、ヘッダー、制限、レスポンスの処理、エラーについて説明しています。また、Workers のガイドでは、Agents SDK との統合や、プロジェクトの設定に合わせた型についても説明しています。
よくある間違い
| 間違い | 発生する理由 | 修正方法 |
|---|---|---|
wrangler 設定で send_email バインディングを忘れる | Email Service では API キーではなく、バインディングを使用します | wrangler.jsonc に "send_email": [{ "name": "EMAIL" }] を追加します |
| 検証されていないドメインから送信する | 初回送信前に、ドメインを Email Sending に登録する必要があります | wrangler email sending enable yourdomain.com を実行するか、Dashboard で登録します |
メールハンドラーで message.raw を 2 回読み取る | raw ストリームは一度しか使用できないため、2 回目の読み取りでは空になります | 先にバッファリングします:const raw = await new Response(message.raw).arrayBuffer() |
text フィールドがない(HTML のみ) | 一部のメールクライアントではプレーンテキストしか表示されず、スパムスコアの改善にも役立ちます | 常に html 版と text 版の両方を含めます |
| マーケティングメールや一括送信にメールを使用する | Email Service はトランザクションメール専用です | ニュースレターやキャンペーンには、専用のマーケティングメールプラットフォームを使用します |
| 検証されていない宛先に転送する | message.forward() は検証済みのアドレスでのみ機能します | wrangler email routing addresses create [email protected] を実行するか、Dashboard で追加します |
| 架空のアドレスでテストする | 存在しないアドレスへのバウンスは、送信者の評価を損ないます | 開発中は自分が管理する実在のアドレスを使用します |
| API トークンをソースコードにハードコードする | コード内のトークンはコミットされ、漏えいします | 環境変数または Cloudflare secrets を使用します |
from ドメインの要件を無視する | from アドレスには Email Service に登録済みのドメインを使用する必要があります | 先にドメインを検証してから、[email protected] から送信します |
REST API の from オブジェクトで email キーを使用する | REST API の from オブジェクトでは email ではなく address を使用します | REST では { "address": "...", "name": "..." }、Workers では { "email": "...", "name": "..." } を使用します |
REST API で replyTo を使用する | REST API ではスネークケースのフィールド名を使用します | REST API では reply_to、Workers バインディングでは replyTo を使用します |
参考資料
状況に合った参考資料をお読みください。すべてを読む必要はありません。
- references/sending.md — Workers バインディング、添付ファイル、Agents SDK のメールに関するドキュメントの一覧です。
- references/rest-api.md — HTTP 送信、リクエストスキーマ、レスポンス、エラーに関するドキュメントの一覧です。
- references/routing.md — 受信メール向けの
email()ハンドラー、転送、返信、解析について説明します。 - references/cli-and-mcp.md — 初回セットアップ向けのドメイン設定、wrangler コマンド、MCP ツールについて説明します。
- references/deliverability.md — SPF/DKIM/DMARC、バウンス、抑制、ベストプラクティスについて説明します。