Cloudflare Workers を使用した Gmail 送信の実装 - セットアップガイド
これは、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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

JavaScriptを学ぶことは難しくありませんが、挑戦的です。 1)変数、データ型、関数などの基本概念を理解します。2)非同期プログラミングをマスターし、イベントループを通じて実装します。 3)DOM操作を使用し、非同期リクエストを処理することを約束します。 4)一般的な間違いを避け、デバッグテクニックを使用します。 5)パフォーマンスを最適化し、ベストプラクティスに従ってください。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

Zustand非同期操作のデータの更新問題。 Zustand State Management Libraryを使用する場合、非同期操作を不当にするデータ更新の問題に遭遇することがよくあります。 �...
