使用 Cloudflare Workers 实施 Gmail 发送 - 设置指南
这是使用 Cloudflare Workers 实施 Gmail 发送系列的第 1 部分:
- 第 1 部分:设置(当前)
- 第 2 部分:开发环境(即将推出)
- 第 3 部分:实施(即将推出)
介绍
在 Cloudflare Pages 托管的静态网站上实施联系表单时,电子邮件发送功能需要无服务器解决方案。本指南演示了如何使用 Cloudflare Workers 设置 Gmail API 来处理表单提交。
Cloudflare Workers 限制
使用 Cloudflare Workers 时,需要考虑两个主要限制:
-
Google API 包不可用:
- Cloudflare Workers 不是 Node.js 环境
- 必须使用对 Google API REST 端点的直接 HTTP 请求,而不是 Node.js 客户端库
-
Nodemailer 软件包不可用:
- Nodemailer 依赖 Node.js 环境
- 不能在 Cloudflare Workers 中使用
设置过程
1. 创建服务帐号
- 访问 Google Cloud Console
- 创建一个新项目或选择现有项目
- 导航到“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 Workers 的免费电子邮件发送解决方案。但是,自 2024 年 6 月 30 日起,MailChannels 和 Cloudflare 之间的集成已停止。这影响了许多依赖此服务来满足电子邮件发送需求的开发人员。
许多 AI 语言模型仍然建议使用 MailChannels 作为解决方案,因为它们的训练数据早于该服务终止。这种情况凸显了验证当前服务可用性的重要性,尤其是在使用第三方集成时。
本指南中描述的 Gmail API 实现是一个可靠的替代方案,但与之前的 MailChannels 解决方案相比,它需要更多的初始设置。
下一步
本系列的下一篇文章将介绍将 Gmail API 与 Cloudflare Workers 结合使用的开发环境设置和实现细节。
以上是使用 Cloudflare Workers 实施 Gmail 发送 - 设置指南的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

Python和JavaScript开发者的薪资没有绝对的高低,具体取决于技能和行业需求。1.Python在数据科学和机器学习领域可能薪资更高。2.JavaScript在前端和全栈开发中需求大,薪资也可观。3.影响因素包括经验、地理位置、公司规模和特定技能。

实现视差滚动和元素动画效果的探讨本文将探讨如何实现类似资生堂官网(https://www.shiseido.co.jp/sb/wonderland/)中�...

学习JavaScript不难,但有挑战。1)理解基础概念如变量、数据类型、函数等。2)掌握异步编程,通过事件循环实现。3)使用DOM操作和Promise处理异步请求。4)避免常见错误,使用调试技巧。5)优化性能,遵循最佳实践。

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

如何在JavaScript中将具有相同ID的数组元素合并到一个对象中?在处理数据时,我们常常会遇到需要将具有相同ID�...

探索前端中类似VSCode的面板拖拽调整功能的实现在前端开发中,如何实现类似于VSCode...
