在 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,则保持 LocationNo 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 IDClient 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 IDClient Secret。随后复制这两个值,以便后续在 Odoo 中使用。

{.align-center}

在 Odoo 中的设置

输入 Google 凭证

打开 Odoo,进入 Apps 模块。移除搜索栏中的 Apps 过滤器,搜索 [Google],安装名为 Google Gmail 的模块。

随后,前往 Settings → General Settings,在 Discuss 部分确保勾选了 Custom Email ServersExternal Email Servers。此时会出现 Gmail CredentialsUse a Gmail Server 选项。将前面复制的 Client IDClient Secret 粘贴到对应字段并 Save 设置。

配置外发邮件服务器

返回 Custom Email Servers 设置顶部,点击 Outgoing Email Servers 链接。

{.align-center}

点击 NewCreate 创建新邮件服务器,填写 NameDescriptionUsername(如需)。

Authenticate with(或 Connection)部分选择 Gmail OAuth AuthenticationGmail,随后点击 Connect your Gmail Account

弹出的 Google 窗口将完成授权流程。选择在 Odoo 中配置的邮箱地址。

如果该邮箱是个人账户,则会出现额外步骤,点击 Continue 进行验证并连接 Gmail。

随后点击 ContinueAllow 允许 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 statusIn 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 IDClient 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 数据库名称。

滚动至顶部