Cloudflare Email Sendingがパブリックベータ版になりました
Cloudflareの
この
料金体系
メール送信機能は
1ヶ月に
制限
1日の送信制限
Cloudflareアカウント状況の
メールのコンテンツ制限
- 宛先は
CC、 BCC合算で 50/通 - 件名は
998文字制限(RFC 5322準拠) - 添付ファイル込みで
メッセージサイズは 25MiBまで - ヘッダーサイズは
16KBまで
Workersの制限
Workersバインディングを
- CPU時間は、
50ms/リクエスト - サブリクエストは、
メール送信操作込みで 50 - メモリは、
128MB
メール到達率
ハードバウンス
送信先の
ソフトバウンス
一方
Email Sending管理画面
設定した

ドメイン設定
ドメインをオンボードボタンから
ゾーン選択で
追加される

サプレッションリスト
抑制ボタンから
ハードバウンス、
リストから

実装
REST API か
REST API
エンドポイントにaccount_idと
APIトークンはAuthorizationヘッダーに
# request
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/email/sending/send" \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"to": "recipient@example.com",
"from": "welcome@yourdomain.com",
"subject": "Welcome to our service!",
"html": "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
"text": "Welcome! Thanks for signing up."
}'
# response
{
"success": true,
"errors": [],
"messages": [],
"result": {
"delivered": ["recipient@example.com"], # 即座に配信されたメールアドレス
"permanent_bounces": [], # 永久に配信不能となったメールアドレス
"queued": [] # キューイングされたメールアドレス
}
}
REST APIは
Workersバインディング
バインディング設定
// wrangler.jsonc
{
"$schema": "./node_modules/wrangler/config-schema.json",
"send_email": [
{
"name": "EMAIL"
}
]
}
送信方法
const response = await env.EMAIL.send({
to: ["user1@example.com", "user2@example.com", "user3@example.com"], // 複数の宛先を指定
from: { email: "newsletter@yourdomain.com", name: "Newsletter Team" },
subject: "Monthly Newsletter",
html: "<h1>This month's updates</h1>",
text: "This month's updates",
});
その他の例
ユーザー登録フローや
ローカル開発
リモートバインディングを
ただし、
リモートバインディングを/tmp/miniflare-.../email-text/*.txt に

制限事項
画像や
現状は
所感
Cloudflareスタックで
Resendなどの
Workersバインディングを
