Skip to content

ssgform.com → Cloudflare Email Sending 移行 #8

Description

@gui-ace

概要

お問い合わせフォームの送信先を ssgform.com から Cloudflare Email Sending(Email Service)に移行し、外部依存を排除する。

背景

  • 現在 ssgform.com(外部サービス)にフォームを POST している
  • Turnstile の検証がクライアント側のみでバイパスの可能性がある
  • CSP で form-action: https://ssgform.com を許可する必要がある
  • Cloudflare Email Sending(2025年9月発表、11月〜プライベートベータ)で自前化が可能に

移行後のフロー

  1. ユーザーがフォーム入力・Turnstile 検証
  2. functions/api/contact.ts(Pages Function)に POST
  3. Turnstile サーバーサイド検証(シークレットキーで検証)
  4. env.SEND_EMAIL.send() でメール送信
  5. サンクスページにリダイレクト

移行で改善される点

  • Turnstile のサーバーサイド検証でスパム対策強化
  • 外部サービス依存の排除(ssgform.com 不要に)
  • CSP を form-action: 'self' に簡素化
  • メール本文のフォーマットを自由にカスタマイズ可能
  • 送信ドメイン認証(SPF/DKIM/DMARC)を自社ドメインで管理

前提条件

  • Cloudflare Email Sending のベータ/GA アクセス取得
  • acecore.net ドメインで SPF/DKIM/DMARC の DNS 設定
  • Workers 有料プランへのアップグレード(未済の場合)

受け入れ条件

  • フォーム送信が Pages Function 経由で処理される
  • Turnstile のサーバーサイド検証が動作する
  • メールが acecore.net ドメインから送信される
  • ssgform.com への依存が完全に排除される
  • CSP から ssgform.com が削除される

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions