これは、Cloudflare Workers を使用した Gmail 送信の実装に関するシリーズのパート 1 です:
- パート 1: セットアップ (現在)
- パート 2: 開発環境 (近日公開予定)
- パート 3: 実装 (近日公開)
導入
Cloudflare Pages でホストされている静的 Web サイトに問い合わせフォームを実装する場合、電子メール送信機能にはサーバーレス ソリューションが必要です。このガイドでは、フォーム送信を処理するために Cloudflare Workers を使用して Gmail API を設定する方法を説明します。
Cloudflareワーカーの制約
Cloudflare Workers を使用する場合、考慮すべき 2 つの大きな制限があります。
-
Google API パッケージは利用できません:
- Cloudflare Workers は Node.js 環境ではありません
- Node.js クライアント ライブラリの代わりに、Google API REST エンドポイントへの直接 HTTP リクエストを使用する必要があります
-
Nodemailer パッケージは利用できません:
- Nodemailer は Node.js 環境に依存します
- Cloudflare Workers では使用できません
セットアッププロセス
1. サービスアカウントを作成する
- Google Cloud コンソールにアクセスします
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
- [IAM と管理者] > に移動します。 「サービスアカウント」
- 「サービス アカウントの作成」をクリックします
- サービス アカウント名と説明を入力します
- オプション設定をスキップして「完了」をクリックします
- 後で使用するために OAuth2 クライアント ID をメモしておきます
2. 必要な役割を割り当てる
- [IAM と管理者] > に移動します。 「IAM」
- 関連するプリンシパルを選択します
- 「アクセスを許可」をクリックします
- サービス アカウントを新しいプリンシパルとして追加します
- 次の役割を割り当てます。
- サービスアカウント管理者
- サービスアカウントキー管理者
- サービスアカウントトークン作成者
- IAP ポリシー管理者
- 変更を保存します
3.Gmail APIを有効にする
- [API とサービス] > に移動します。 「図書館」
- 「gmail」を検索
- 「Gmail API」を選択します
- 「有効にする」をクリックします
4. 組織ポリシー管理者ロールの追加
- [IAM と管理者] > に移動します。 「IAM」
- 組織管理者を編集
- 「組織ポリシー管理者」ロールを追加
- 変更を保存
5. サービスアカウントキー作成ポリシーを無効にする
- [IAM と管理者] > に移動します。 「組織ポリシー」
- 「iam.disableServiceAccountKeyCreation」のフィルター
- ポリシーのリンクをクリックします
- 「ポリシーの管理」をクリックします
- 「親ポリシーを上書きする」を選択します
- ルールを追加し、「強制」に設定します
- 「完了」をクリックします
6. サービスアカウントキーの生成
- [IAM と管理者] > に移動します。 「サービスアカウント」
- 作成したサービス アカウントを選択します
- 「キー」タブに移動します
- 「キーを追加」をクリック > 「新しいキーを作成」
- JSON 形式を選択
- ダウンロードした JSON ファイルを作成して安全に保存します
7. ドメイン全体の委任を構成する
- Google Workspace 管理コンソールにアクセスします
- 「セキュリティ」に移動 >アクセスとデータ管理 > API コントロール
- 「ドメイン全体の委任の管理」をクリックします
- 新しいクライアント ID を追加します:
- サービス アカウントのクライアント ID を入力してください
- スコープの追加: https://www.googleapis.com/auth/gmail.send
- 「承認」をクリックします
注: セキュリティへの影響のため、大規模な組織ではドメイン全体の委任を慎重に検討する必要があります。
追加の構成
Gmail エイリアスからメールを送信する場合は、必ずエイリアス アドレスを追加してください:
- Gmail 設定に移動 >アカウント
- 「別のメール アドレスを追加」からエイリアス メール アドレスを追加します
無料メールサービスに関する注意事項
以前は、MailChannels Send API が Cloudflare ワーカー向けの無料メール送信ソリューションとして広く推奨されていました。ただし、2024 年 6 月 30 日の時点で、MailChannels と Cloudflare の統合は中止されました。これは、電子メール送信のニーズをこのサービスに依存していた多くの開発者に影響を与えました。
多くの AI 言語モデルは、トレーニング データがこのサービスの終了より前のものであるため、ソリューションとして MailChannels を依然として提案しています。この状況は、特にサードパーティとの統合を使用する場合、現在のサービスの可用性を確認することの重要性を浮き彫りにしています。
このガイドで説明されている Gmail API 実装は信頼性の高い代替手段として機能しますが、以前の MailChannels ソリューションと比較してより多くの初期設定が必要です。
次のステップ
このシリーズの次の記事では、Cloudflare Workers で Gmail API を使用するための開発環境のセットアップと実装の詳細について説明します。
以上がCloudflare Workers を使用した Gmail 送信の実装 - セットアップガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。