概要
お問い合わせフォームの送信先を ssgform.com から Cloudflare Email Sending(Email Service)に移行し、外部依存を排除する。
背景
- 現在 ssgform.com(外部サービス)にフォームを POST している
- Turnstile の検証がクライアント側のみでバイパスの可能性がある
- CSP で
form-action: https://ssgform.com を許可する必要がある
- Cloudflare Email Sending(2025年9月発表、11月〜プライベートベータ)で自前化が可能に
移行後のフロー
- ユーザーがフォーム入力・Turnstile 検証
functions/api/contact.ts(Pages Function)に POST
- Turnstile サーバーサイド検証(シークレットキーで検証)
env.SEND_EMAIL.send() でメール送信
- サンクスページにリダイレクト
移行で改善される点
- Turnstile のサーバーサイド検証でスパム対策強化
- 外部サービス依存の排除(ssgform.com 不要に)
- CSP を
form-action: 'self' に簡素化
- メール本文のフォーマットを自由にカスタマイズ可能
- 送信ドメイン認証(SPF/DKIM/DMARC)を自社ドメインで管理
前提条件
受け入れ条件
概要
お問い合わせフォームの送信先を ssgform.com から Cloudflare Email Sending(Email Service)に移行し、外部依存を排除する。
背景
form-action: https://ssgform.comを許可する必要がある移行後のフロー
functions/api/contact.ts(Pages Function)に POSTenv.SEND_EMAIL.send()でメール送信移行で改善される点
form-action: 'self'に簡素化前提条件
受け入れ条件