在 Odoo 中使用 Google OAuth 连接 Gmail 的完整配置指南
将 Gmail 连接到 Odoo(使用 Google OAuth)
Odoo 支持 Google 的 OAuth 来使用 Gmail。若要从自定义域名发送安全邮件,只需在 Google Workspace 平台以及 Odoo 数据库的后端进行少量设置。此配置可使用个人邮箱或自定义域名创建的邮箱。
:::: tip ::: title 提示 :::
欲了解更多信息,请访问 Google 文档 中的 OAuth 设置指南。 :::: ::::
::: seealso
/applications/general/users/google-/applications/productivity/calendar/google:::
在 Google 中的设置
创建新项目
首先,前往 Google API 控制台。使用 Google Workspace 账户登录(如果有),否则使用个人 Gmail 账户登录(该账户应与您在 Odoo 中想要配置的邮箱地址相同)。
随后,点击位于 OAuth 同意屏幕 最右侧的 Create Project。如果此账户已有项目,则在 Select a project 下拉菜单右上方找到 New Project 选项。
在 New Project 页面,将 Project name 重命名为 [Odoo],并选择 Location。将 Location 设置为 Google Workspace 组织;若使用个人 Gmail,则保持 Location 为 No Organization。
{.align-center}
点击 Create 完成此步骤。
OAuth 同意屏幕
如果页面未自动跳转到 User Type 选项,点击左侧菜单中的 OAuth consent screen。
在 User Type 选项下,选择合适的 User Type,然后再次点击 Create,即可进入 Edit app registration 页面。
:::: warning ::: title 警告 :::
个人 Gmail 账户只能选择 External(外部)用户类型,这可能需要 Google 的批准或添加 Scopes。使用 Google Workspace 账户则可以选择 Internal(内部)用户类型。
此外,在 External(外部)测试模式下,无需 Google 批准,用户上限为 100 人。 ::::
编辑应用注册
接下来配置项目的应用注册信息。
在 OAuth 同意屏幕 步骤的 App information 部分,将 App name 填写为 [Odoo]。在 User support 邮箱字段中填写组织的支持邮箱。
在 App Domain → Authorized domains 中,点击 Add Domain,输入 [odoo.com]。
随后,在 Developer contact information 部分填写组织的联系邮箱,Google 将使用该邮箱向组织发送项目变更通知。
点击 Save and Continue,在 Scopes 页面滚动到底部并点击 Save and Continue 跳过。
如果继续使用 External(外部)测试模式,在 Test users 步骤中点击 Add Users,添加需要配置的邮箱地址,然后点击 Save and Continue。此时会出现应用注册的摘要。
最后,滚动至页面底部,点击 Back to Dashboard 完成项目设置。
创建凭证
项目设置完成后,需要创建包含 Client ID 与 Client Secret 的凭证。首先,在左侧侧边栏点击 Credentials。
在顶部菜单点击 Create Credentials,从下拉菜单选择 OAuth client ID。
- 在 Application Type 中选择 Web Application。
- 在 Name 字段填写 [Odoo]。
- 在 Authorized redirect URIs 下点击 ADD URI,并在 URIs 1 中输入
https://yourdbname.odoo.com/google_gmail/confirm。请将yourdbname替换为实际的 Odoo 数据库名称。 - 点击 Create 生成 OAuth Client ID 与 Client Secret。随后复制这两个值,以便后续在 Odoo 中使用。
{.align-center}
在 Odoo 中的设置
输入 Google 凭证
打开 Odoo,进入 Apps 模块。移除搜索栏中的 Apps 过滤器,搜索 [Google],安装名为 Google Gmail 的模块。
随后,前往 Settings → General Settings,在 Discuss 部分确保勾选了 Custom Email Servers 或 External Email Servers。此时会出现 Gmail Credentials 或 Use a Gmail Server 选项。将前面复制的 Client ID 与 Client Secret 粘贴到对应字段并 Save 设置。
配置外发邮件服务器
返回 Custom Email Servers 设置顶部,点击 Outgoing Email Servers 链接。
{.align-center}
点击 New 或 Create 创建新邮件服务器,填写 Name、Description 与 Username(如需)。
在 Authenticate with(或 Connection)部分选择 Gmail OAuth Authentication 或 Gmail,随后点击 Connect your Gmail Account。
弹出的 Google 窗口将完成授权流程。选择在 Odoo 中配置的邮箱地址。
如果该邮箱是个人账户,则会出现额外步骤,点击 Continue 进行验证并连接 Gmail。
随后点击 Continue 或 Allow 允许 Odoo 访问 Google 账户。页面会返回 Odoo 已配置好的外发邮件服务器,并自动加载令牌。页面上会出现绿色的 Gmail Token Valid 标签。
{.align-center}
最后,点击 Test the Connection。若出现确认信息,则 Odoo 数据库已可以通过 Google OAuth 安全发送邮件。
Google OAuth 常见问题
生产 vs 测试 发布状态
将 Publishing Status 设为 Production(而非 Testing)时,会出现如下警告:
{.align-center}
若要消除该警告,前往 Google API 平台。如果 Publishing status 为 In Production,点击 Back to Testing 将其改回测试状态。
未添加测试用户
若在 OAuth 同意屏幕中未添加测试用户,会出现 403 访问被拒错误。
{.align-center}
解决办法:返回 OAuth consent screen(位于 APIs & Services),为应用添加测试用户,即添加您在 Odoo 中配置的邮箱。
Gmail 模块未更新
若 Odoo 中的 Google Gmail 模块未升级到最新版本,会出现 Forbidden(禁止)错误。
{.align-center}
解决办法:在 Apps 模块中清除搜索关键词,搜索 [Gmail] 或 [Google],升级 Google Gmail 模块。随后点击模块右上角的三点按钮,选择 Upgrade。
应用类型错误
在创建凭证(OAuth Client ID 与 Client Secret)时,如果将 Application Type 选择为 Desktop App,会出现 Authorization Error。
{.align-center}
解决办法:删除已创建的凭证,重新创建凭证时选择 Web Application 作为 Application Type。在 Authorized redirect URIs 中点击 ADD URI,填写
https://yourdbname.odoo.com/google_gmail/confirm,并将 yourdbname 替换为实际的 Odoo 数据库名称。