0

0

使用 Cloudflare Workers 实施 Gmail 发送 - 设置指南

花韻仙語

花韻仙語

发布时间:2024-11-19 11:30:41

|

760人浏览过

|

来源于dev.to

转载

使用 cloudflare workers 实施 gmail 发送 - 设置指南

这是使用 Cloudflare Workers 实施 Gmail 发送系列的第 1 部分:

  • 第 1 部分:设置(当前)
  • 第 2 部分:开发环境(即将推出)
  • 第 3 部分:实施(即将推出)

介绍

在 Cloudflare Pages 托管的静态网站上实施联系表单时,电子邮件发送功能需要无服务器解决方案。本指南演示了如何使用 Cloudflare Workers 设置 Gmail API 来处理表单提交

Cloudflare Workers 限制

使用 Cloudflare Workers 时,需要考虑两个主要限制:

  1. Google API 包不可用

    • Cloudflare Workers 不是 Node.js 环境
    • 必须使用对 Google API REST 端点的直接 HTTP 请求,而不是 Node.js 客户端库
  2. Nodemailer 软件包不可用:

    • Nodemailer 依赖 Node.js 环境
    • 不能在 Cloudflare Workers 中使用

设置过程

1. 创建服务帐号

  1. 访问 Google Cloud Console
  2. 创建一个新项目或选择现有项目
  3. 导航到“IAM 和管理” > “服务帐户”
  4. 点击“创建服务帐户”
  5. 输入服务帐户名称和描述
  6. 跳过可选设置并单击“完成”
  7. 记下 OAuth2 客户端 ID 供以后使用

2. 分配所需的角色

  1. 导航到“IAM 和管理” >“IAM”
  2. 选择相关主体
  3. 点击“授予访问权限”
  4. 将服务帐户添加为新主体
  5. 分配以下角色:
    • 服务帐户管理员
    • 服务帐户密钥管理员
    • 服务帐户令牌创建者
    • IAP 政策管理员
  6. 保存更改

3.启用Gmail API

  1. 导航至“API 和服务”>“库”
  2. 搜索“gmail”
  3. 选择“Gmail API”
  4. 点击“启用”

4. 添加组织策略管理员角色

  1. 导航到“IAM 和管理” >“IAM”
  2. 编辑组织管理员
  3. 添加“组织政策管理员”角色
  4. 保存更改

5.禁用服务帐户密钥创建策略

  1. 导航至“IAM 和管理” > “组织政策”
  2. 过滤“iam.disableServiceAccountKeyCreation”
  3. 点击政策链接
  4. 点击“管理政策”
  5. 选择“覆盖家长政策”
  6. 添加规则并设置为“强制”
  7. 点击“完成”

6. 生成服务帐户密钥

  1. 导航到“IAM 和管理” > “服务帐户”
  2. 选择创建的服务帐户
  3. 转到“按键”选项卡
  4. 点击“添加密钥” > “创建新密钥”
  5. 选择 JSON 格式
  6. 创建并安全存储下载的 JSON 文件

7. 配置域范围委派

  1. 访问 Google Workspace 管理控制台
  2. 导航至安全 > 访问和数据控制 > API 控件
  3. 点击“管理域范围委托”
  4. 添加新的客户端 ID:
    • 输入服务帐户的客户端 ID
    • 添加范围:https://www.googleapis.com/auth/gmail.send
  5. 点击“授权”

注意:由于安全隐患,应在较大的组织中仔细考虑域范围的委派。

Pi智能演示文档
Pi智能演示文档

领先的AI PPT生成工具

下载

附加配置

使用 Gmail 别名发送电子邮件时,请记得添加别名地址:

  1. 转到 Gmail 设置 > 帐户
  2. 通过“添加其他电子邮件地址”添加别名电子邮件地址

关于免费电子邮件服务的重要说明

此前,MailChannels Send API 被广泛推荐为 Cloudflare Workers 的免费电子邮件发送解决方案。但是,自 2024 年 6 月 30 日起,MailChannels 和 Cloudflare 之间的集成已停止。这影响了许多依赖此服务来满足电子邮件发送需求的开发人员。

许多 AI 语言模型仍然建议使用 MailChannels 作为解决方案,因为它们的训练数据早于该服务终止。这种情况凸显了验证当前服务可用性的重要性,尤其是在使用第三方集成时。

本指南中描述的 Gmail API 实现是一个可靠的替代方案,尽管与之前的 MailChannels 解决方案相比,它需要更多的初始设置。

下一步

本系列的下一篇文章将介绍将 Gmail API 与 Cloudflare Workers 结合使用的开发环境设置和实现细节。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

403

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

528

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

306

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

508

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

241

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

248

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

5219

2023.08.17

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
10分钟--Midjourney创作自己的漫画
10分钟--Midjourney创作自己的漫画

共1课时 | 0.1万人学习

Midjourney 关键词系列整合
Midjourney 关键词系列整合

共13课时 | 0.9万人学习

AI绘画教程
AI绘画教程

共2课时 | 0.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号