
2026/04/16 22:21
クラウドフレード電子メールサービス
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Cloudflare がメールサービスのパブリックベータ版を発表しました。このサービスにより、アプリやエージェントは API キーやシークレットを管理することなく、ネイティブバインディングを通じて Workers から直接トランザショナルメールを送信できるようになります。プラットフォームはフルバイディレクショナルメールをサポートしており、Email Routing を通じて受信メールを取得し、Cloudflare が自動的に SPF、DKIM、DMARC レコードを設定することで認証と配信を確保しながら安全に返信する送信メールに対応します。返信は HMAC-SHA256 サインを使用してヘッダーの改ざんを防ぎ、正しいエージェントインスタンスへルーティングします。
主要な進歩として、Agents SDK への統合があり、これは単純な同期返信から長期間実行されるタスクの非同期オーケストレーションへと進化した
onEmail フックを導入しています。Durable Objects を使用して状態を保持することで、会話履歴やコンテキストを維持します。開発者は wrangler email の新しい CLI コマンドと、エージェントがプロンプトだけでメールエンドポイントを見つけて呼び出せる専用 Email MCP サーバーを使用してデプロイを簡素化できます。エージェント自動化を組み込んだフルなメールクライアントを構築するためのオープンソース「Agentic Inbox」リファレンスアプリも利用可能です。これらツールは、開発者がメッセージを受信し、システム全体で複雑なデータを処理し、独自のタイムラインで返信する堅牢でメールネイティブなエージェントを作成する力を付与します。本文
2026 年 4 月 16 日 | 完読時間:約 6 分
メールは世界中で最もアクセスしやすいインターフェースです。それは普遍性を持っています。カスタムチャットアプリケーションや、各チャンネルごとの専用 SDK の必要はありません。誰もが既にメールアドレスを所有しており、それにより誰でもあなたのアプリケーションやエージェントと対話でき、また、あなたのエージェントも同様に誰かと交流できるのです。
もしあなたがアプリケーションの開発者であれば、既にサインアップ処理、通知、請求書発行などにメールを依存しています。次第に、このチャンネルはアプリケーションのロジックだけでなく、エージェントにおいても不可欠な存在になっています。当社のプライベートベータ期間中、開発者たちが以下のような構築を目撃しました:カスタマーサポートエージェント、請求書処理パイプライン、アカウント検証フロー、マルチエージェントワークフローなど。これらはいずれもメール上に構築されています。傾向は明確です:メールはエージェントのコアインターフェースとなりつつあり、開発者はこれを対象としたインフラストラクチャを必要としています。
Cloudflare Email Service がその解答です。Email Routing を利用すれば、アプリケーションやエージェント宛てのメールを受信でき、Email Sending を利用すれば、エージェントによるタスク完了時のユーザーへの通知など、返信または送信中の処理が可能になります。さらに開発者プラットフォームの其余機能を利用することで、ネイティブ機能として Email Client と Agents SDK を構築できます。
本日、「Agents Week」の一部として、Cloudflare Email Service は一般公開ベータ(Public Beta)を開始し、あらゆるアプリケーションおよびエージェントからのメール送信を可能にします。同時に、Email ネイティブエージェントを構築するためのツールキットも完成させます:
- Email Sending Binding:Workers および Agents SDK を介して利用可能
- 新しい Email MCP サーバー
- Wrangler CLI の Email コマンド
- コーディングエージェント向けスキル
- オープンソースの参考アプリケーション「Agentic Inbox」
Email Sending:今般一般公開ベータへ移行
Email Sending は、今般、プライベートベータから一般公開ベータへ昇格しました。Workers からネイティブバインディングを用いればトランザクショナルなメールを送信でき、API キーやシークレットの管理が不要です。
export default { async fetch(request, env, ctx) { await env.EMAIL.send({ to: "[email protected]", from: "[email protected]", subject: "Your order has shipped", text: "Your order #1234 has shipped and is on its way." }); return new Response("Email sent"); }, };
Alternatively、REST API および TypeScript、Python、Go の SDK を使用して、あらゆるプラットフォームや言語から送信も可能です。
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/email-service/send" \ --header "Authorization: Bearer <API_TOKEN>" \ --header "Content-Type: application/json" \ --data '{ "to": "[email protected]", "from": "[email protected]", "subject": "Your order has shipped", "text": "Your order #1234 has shipped and is on its way." }'
メールが実際に受信者に届くためには、通常 SPF、DKIM、DMARC レコードの調整が必要ですが、ドメインを Email Service に追加すれば、当社側ですべてを自動的に設定します。メールは認証され、不正に分類されることなく配信されます。また、Cloudflare のネットワーク上で構築されたグローバルサービスであるため、世界中どこからでも低遅延で送信可能です。
Email Routing(過去数年間無料で提供されている機能)と組み合わせることで、単一プラットフォーム内での完全な双方向通信を実現します。メールを受信し、Worker で処理して返信するまでを Cloudflare のネットワーク上から離れることなく行えます。詳細については、「Birthday Week」のアナウンス記事を参照してください。残りの本稿は、Email Service がエージェントにどのような変化をもたらすかについて説明しています。
Agents SDK:エージェントは Email ネイティブ化
Cloudflare 上でエージェントを構築するための Agents SDK は、既に受信および処理の両方を含む第一級の OnEmail フックを持っています。しかしこれまで、エージェントからの返信は同期型のみ、あるいは Cloudflare アカウント内のメンバー宛てに限られていました。
Email Sending の導入により、この制約が解消されます。これがチャットボットとエージェントの違いです。
- Email エージェント:メッセージを受け取り、プラットフォーム全体を跨いでタスクを調整し、非同期で返信します。
- チャットボット:その場で返信するか、しないかだけです。
エージェントは独自のタイムラインで思考・行動・通信を行います。Email Sending を使用すれば、エージェントはメッセージを受け取り、1 時間をかけてデータを処理し、他のシステムをチェックし、その後で完全な回答を送信できます。フォローアップをスケジュールしたり、エッジケースを検知してエスカレーションさせたり、自律的に動作したりできます。つまり、単に質問に答えるだけでなく、実際の「仕事」ができるのです。
以下は、受信中・保存中・返信中のサポートエージェントの完全なパイプライン例です。
import { Agent, routeAgentEmail } from "agents"; import { createAddressBasedEmailResolver, type AgentEmail } from "agents/email"; import PostalMime from "postal-mime"; export class SupportAgent extends Agent { async onEmail(email: AgentEmail) { const raw = await email.getRaw(); const parsed = await PostalMime.parse(raw); // エージェント状態に永続化 this.setState({ ...this.state, ticket: { from: email.from, subject: parsed.subject, body: parsed.text, messageId: parsed.messageId }, }); // 長期実行タスクを起動するか、別の Worker が処理するキューにメッセージを配置 // ここかキューハンドラなどの他の Worker ハンドラで返信も可能 await this.sendEmail({ binding: this.env.EMAIL, fromName: "Support Agent", from: "[email protected]", to: this.state.ticket.from, inReplyTo: this.state.ticket.messageId, subject: `Re: ${this.state.ticket.subject}`, text: `Thanks for reaching out. We received your message about "${this.state.ticket.subject}" and will follow up shortly.` }); } } export default { async email(message, env) { await routeAgentEmail(message, env, { resolver: createAddressBasedEmailResolver("SupportAgent"), }); }, } satisfies ExportedHandler<Env>;
Agents SDK の Email 機能に初めて触れる場合は、内部で行われていることを理解してください:
- 独自のアイデンティティ:エージェントごとにドメインを一つ持つだけで、
を「サポート」エージェントインスタンス、[email protected]
を「セールス」インスタンスなどへルーティングします。別々のインボックスを用意する必要はなく、ルーティングはアドレスに組み込まれています。サブアドレッシング(例:[email protected]
)も利用でき、異なるエージェントネームスペースやインスタンスへルーティングできます。[email protected] - 状態の永続化:Agents が Durable Objects でバックアップされているため、
呼び出しで会話履歴、連絡先情報、セッション間のコンテキストをエージェントが記憶します。インボックスは専用のデータベースやベクトルストアを用意せずにエージェントのメモリとなります。this.setState() - 安全な返信ルーティング:エージェントから送信し返信を待つ場合、ルートヘッダーに HMAC-SHA256 で署名することで、元のメッセージを送信した特定のエージェントインスタンス宛てに戻すことを保証できます。攻撃者がヘッダーを書き換え任意のエージェントインスタンスへメールを送ろうとするセキュリティリスクを防ぎます。これは他の多くの「エジェント用メール」ソリューションでは対応していない問題です。
これはチームが従来からゼロから構築してきた完全な Email エージェントパイプライン(受信→パース→分類→状態永続化→非同期ワークフロー起動→返信またはエスカレーション)を Cloudflare のネットワーク上にグローバルにデプロイできるものです。
外部環境で動作するエージェントとの連携
Email Service は Cloudflare で動作するエージェント専用ではありません。コーディングエージェント(Claude Code、Cursor、Copilot など)がローカルやリモート環境で動作する場合も、コンテナや外部クラウド上で稼働しているプロダクションエージェントの場合も含め、あらゆる環境からメールを送信する必要があります。
3 つの統合を提供し、エーゼントがどこで動作するかにかかわらず、Email Service にアクセス可能にします:
-
Cloudflare MCP サーバー:Code Mode によるサーバーと連携し、エージェントは Cloudflare API の全機能に加え、メールのエンドポイントを発見・呼び出して送信設定や送信が可能になります。シンプルなプロンプトで送信できます。
"ビルドが完了した際に [email protected] 宛てに通知メールを送信してください。"
-
Wrangler CLI:バッシュアクセスを持つコンピュータやサンドボックス環境で動作するエージェント向けです。MCP コンテキストウィンドウの問題を解消し、ツール定義が数万トークン消費される前にエジェントが処理を開始できます。
コマンドを通じて能力を発見します。--helpwrangler email send \ --to "[email protected]" \ --from "[email protected]" \ --subject "Build completed" \ --text "The build passed. Deployed to staging." -
スキル(Skills):コーディングエージェントに完全なガイダンスを提供します。Workers バインディングの構成、REST API や SDK を用いた送信、Email Routing 設定による受信処理、Agents SDK での構築、Wrangler CLI または MCP を通じた管理など、トランザクショナルなメールをスッパームボックスへ届けるためのベストプラクティスを網羅しています。プロジェクトにドロップすると、Cloudflare 上でのプロダクション対応の Email アプリケーションが構築できます。
Agentic Inbox:ヒューマンインザループと完全なクライアント
プライベートベータ期間中、Email エージェントの実験を行いました。その結果、人間の関与(ヒューマンインザループ)を維持し、エージェントの行動を確認できるようにすることが重要だと明らかになりました。
これが実現するための最適な方法は、エージェントオートメーションが組み込まれた完全機能型の Email クライアントを構築することです。これのために「Agentic Inbox」という参考アプリケーションを開発しました。このアプリには、会話のスレッド表示、メールレンダリング、受信・保存(添付ファイル含む)、自動返信などの機能が備わっています。また、専用の MCP サーバーも組み込まれており、外部エージェントはこのサーバーを利用して送信前に草案をレビューするなどの作業が可能です。
Agentic Inbox はオープンソース化されています。 これにより、以下の技術スタックを用いた完全な Email アプリケーションの構築方法を共有できます:
- 受信用:Email Routing
- 送信用:Email Sending
- 分類用:Workers AI
- 添付ファイル保存:R2
- 状態管理・ロジック:Agents SDK
ボタンを一つクリックするだけで、完全なインボックスとエージェントを取得できます。各チームが同じ受信中→分類中→返信のパイプラインを一から再構築するのではなく、この参考アプリケーションをフォークして拡張し、ワークフローに適合する Email エージェントの基盤として利用してもらいたいと考えています。
今日より試してみましょう
メールは世界の最重要ワークフローが展開される場所ですが、エージェントにとってはこれまでアクセスが難しかったチャンネルでした。今般一般公開ベータになった Email Sending により、Cloudflare Email Service は双方向通信を完備するプラットフォームとなり、インボックスはエージェントの第一級インターフェースとなりました。
顧客とのインボックスで対面するサポートエージェントを作りたい方、チーム内のリアルタイム更新を行うバックグラウンドプロセスを作りたい方——あなたのエージェントは今、グローバル規模で滑らかにコミュニケーションを取れるようになりました。インボックスはもはやサイロではありません。それはもう一つの、エージェントが役立つ場所です。
次のアクション:
- Cloudflare ダッシュボードで「Email Sending」を試す
- Email Service ドキュメントを読む
- Agents SDK の Email ドキュメントを確認する
- Email Service MCP サーバーとスキルのデプロイを検討する
- オープンソースの参考アプリケーションをデプロイする
- Cloudflare TV で動画を視聴する
Cloudflare のコネクティビティクラウドは、企業ネットワーク全体の保護、インターネットスケールなアプリケーションの構築効率化、あらゆるウェブサイトのアクセラレーション、DDoS 攻撃からの防護、ハッカーへの対抗、ゼロトラストへの移行支援などを行っております。1.1.1.1 をデバイスからアクセスし、無料でより速く安全なインターネットを体験してください。