使用 Azure OAuth 将 Microsoft Outlook 365 连接到 Odoo¶
Odoo 兼容 Microsoft 365 的 Azure OAuth。要从自定义域发送和接收安全电子邮件,只需在 Azure 平台和 Odoo 数据库后端配置一些设置即可。该配置既可用于个人电子邮件地址,也可用于自定义域创建的地址。
在 Microsoft Azure 门户中进行设置¶
创建一个新的应用程序¶
要开始使用,请访问 Microsoft 的 Azure 门户。如果有 Microsoft Outlook Office 365 帐户,请使用该帐户登录,否则请使用个人 Microsoft 帐户`登录。具有 Azure 设置管理访问权限的用户需要连接并执行以下配置。接下来,导航到标有 :guilabel:`Manage Microsoft Entra ID 的部分(正式名称为 Azure Active Directory)。
现在,点击顶部菜单中的 添加 (+),然后选择 应用程序注册。在:guilabel:注册应用程序`屏幕上,将:guilabel:`名称`重命名为`Odoo`或其他可识别的名称。在 :guilabel:`支持账户类型
部分中选择 任何组织目录中的帐户 (任何Microsoft企业ID目录 - 多租户)和个人 Microsoft 帐户(例如Skype、Xbox)。
Under the Redirect URL section, select Web as the platform, and then input
https://<web base url>/microsoft_outlook/confirm
in the URL field. The web.base.url
is subject to change depending on the URL used to log in to the database.
注解
The documentation about the web.base.url explains how to freeze a unique URL. It is also possible to add different redirect URLs on the Microsoft app.
After the URL has been added to the field, Register the application, so it is created.
API 权限¶
接下来应设置 API 权限。Odoo 需要特定的 API 权限才能在 Microsoft 365 设置中读取(IMAP)和发送(SMTP)电子邮件。首先,点击左侧菜单栏中的 API 权限 链接。然后,点击 (+) 添加权限`按钮,在 :guilabel:`常用的微软API 下选择 微软图表。然后,选择 委托权限 选项。
在搜索栏中搜索:guilabel:授权权限
,然后为每项点击:guilabel:添加权限
:
SMTP.Send
IMAP.AccessAsUser.All
注解
默认情况下会添加 User.Read 权限。

分配用户和组¶
添加 API 权限后,返回左侧边栏菜单顶部的 应用 的:guilabel:概览
。
现在,为该应用程序添加用户。在:guilabel:要点
概览表下,点击标有:guilabel:本地目录中的托管应用程序
的链接,或表格右下方的最后一个选项。

在左侧边栏菜单中选择 用户和组。然后,点击 (+) 添加用户/组。根据账户,可以添加 :guilabel:` 组` 和 :guilabel:` 用户`,也可以只添加 用户。个人账户只允许添加 用户。
在 用户 或 组 下,单击 未选择 并添加将从 Odoo 中的:guilabel:Microsoft 帐户`发送电子邮件的用户或用户组。 :guilabel:`Add
用户/组,单击 选择,然后 分配 他们到应用程序。
创建凭据¶
现在 Microsoft Azure 应用程序已设置完毕,需要为 Odoo 设置创建凭证。其中包括 客户 ID 和 客户密钥。首先,可从应用程序的 概览 页面复制 客户 ID。guilabel:客户 ID
或 应用程序 ID 位于应用程序 要点 概览中 显示名称 下方。

接下来,需要检索 客户密钥值。要获取该值,请单击左侧边栏菜单中的 认证 & 密钥。然后,需要生成 客户密钥。为此,请单击 (+) 新客户密文 按钮。
右侧窗口会弹出一个标有 添加客户密钥 的按钮。在:guilabel:描述`下,输入`Odoo Fetchmail
或其他可识别的内容,然后设置:guilabel:失效日期
。
重要
如果第一个:guilabel:客户密钥`过期,则需要制作和配置新的:guilabel:`客户密钥
。在此情况下,服务可能会中断,因此应注意过期日期,并将其设置为尽可能远的日期。
输入这两个值后,点击 添加。将创建 客户密钥值 和 密钥 ID。请务必将 值 或 客户密钥值 复制到记事本中,因为离开此页面后它将被加密。不需要 密钥 ID。

完成这些步骤后,就可以在 Odoo 中设置以下项目了:
客户端 ID(客户端 ID 或 :guilabel:` 应用程序 ID)
客户密钥(值 或 客户密钥值)
这样就完成了 Microsoft Azure Portal 侧的设置。
设置Odoo¶
输入 Microsoft Outlook 凭据¶
首先,打开 Odoo 数据库并导航至 Apps 模块。然后,从搜索栏中移除 Apps 筛选器,并输入 Outlook
。然后,安装名为 Microsoft Outlook 的模块。
接下来,导航至 自定义电子邮件服务器 复选框。将弹出 Outlook 凭据 新选项。
,在 :guilabel:` 讨论`应用程序部分,确保选中:guilabel:`保存`进度。
然后,将:guilabel:`Client ID(应用程序 ID)和:guilabel:`Client Secret(客户端密文值)`复制并粘贴到相应字段,然后:guilabel:`保存`设置。

配置邮件外发服务器¶
在:guilabel:常规设置
页面的:guilabel:定制电邮服务器
设置下,单击:guilabel:`外发电邮服务器`链接以配置 Microsoft 帐户。
然后,创建一个新的电子邮件服务器,并选中 Outlook 复选框。然后,填写 名称`(可以是任何内容)和 Microsoft Outlook 电子邮件 :guilabel:`用户名。
如果 From Filter 字段为空,请输入 域名或电子邮件地址。
然后,点击:guilabel:连接您的 Outlook 帐户
。
Microsoft 将打开一个新窗口,以完成 :guilabel:` 授权过程`。选择正在 Odoo 中配置的相应电子邮件地址。

然后,点击 是,允许 Odoo 访问 Microsoft 帐户。之后,页面将导航回 Odoo 中新配置的 外发邮件服务器。配置会自动加载 Odoo 中的 令牌,并显示绿色标签:guilabel:Outlook 令牌有效
。

最后,点击 测试连接。此时会出现一条确认信息。现在,Odoo 数据库可以使用 OAuth 身份验证通过 Microsoft Outlook 发送安全可靠的电子邮件。
使用单一外发邮件服务器配置¶
在 Microsoft Azure 中,配置单个外发服务器是最简单的配置,而且不需要为数据库中的用户设置广泛的访问权限。
通用电子邮件地址将用于为数据库中的所有用户发送电子邮件。例如,它的结构可以是`通知`别名 (notifications@example.com
) 或`联系人`别名 (contact@example.com
)。该地址必须设置为服务器上的 FROM 筛选器。该地址还必须与系统参数中的`{mail.default.from}@{mail.catchall.domain}`关键组合相匹配。
参见
有关 from 筛选器的更多信息,请访问 使用默认的“发件人”电子邮件地址。
注解
在 开发者模式 即可访问 系统参数。
菜单中激活使用此配置时,从数据库发送的每封电子邮件都将使用配置的 `通知`邮箱地址。不过需要注意的是,发件人的姓名会显示出来,但其电子邮件地址会改变:

Example
单一外发邮件服务器配置:
外发邮件服务器 **用户名**(登录) =
notifications@example.com
外发邮件服务器 FROM 筛选器 =
notifications@example.com
系统参数中的 “mail.catchall.domain”=”example.com
系统参数中的
mail.default.from
=notifications
用户特定(多用户)配置¶
除通用电子邮件服务器外,还可为数据库中的用户设置单独的电子邮件服务器。这些电子邮件地址必须在每个单独服务器上设置为 FROM 筛选器 才能生效。
这种配置是 Microsoft Azure 两种配置中难度较大的一种,因为它要求所有配置了电子邮件服务器的用户都有访问设置的权限,才能建立与电子邮件服务器的连接。
设置¶
每位用户都应设置独立的电子邮件服务器。应设置 FROM 筛选器 以便只从该服务器发送用户的电子邮件。换句话说,只有电子邮件地址符合 FROM 筛选器 设置的用户才能使用该服务器。
参见
有关 from 筛选器的更多信息,请访问 使用默认的“发件人”电子邮件地址。
必须设置 后备服务器,以便发送 notifications。该服务器的 FROM Filtering 值应为`{mail.default.from}@{mail.catchall.domain}`。
注解
在 开发者模式 即可访问 系统参数。
菜单中激活重要
该事务性电子邮件服务器的配置可与外发邮件群发服务器同时使用。邮件群发服务器的 FROM Filtering 可以保持为空,但需要在 电子邮件市场营销 应用程序的设置中添加。
参见
有关设置邮件群发服务器的更多信息,请访问 为交易邮件和群发邮件设置不同的专用服务器。
Example
多用户外发邮件服务器配置:
- 用户 #1 邮箱
外发邮件服务器 #1 **用户名**(登录) =
john@example.com
外发邮件服务器 #1 FROM Filtering =
john@example.com
- 用户#2邮箱
外发邮件服务器 #2 **用户名**(登录) =
jane@example.com
外发邮件服务器 #2 FROM Filtering =
jane@example.com
- 通知邮箱
外发邮件服务器 #3 用户名 (登录名)=
notifications@example.com
外发邮件服务器 #3 FROM Filtering =
notifications@example.com
- 系统参数
系统参数中的 “mail.catchall.domain”=”example.com
系统参数中的
mail.default.from
=notifications
配置接收电子邮件服务器¶
收件账户的配置方式应与发件账户类似。导航至 技术菜单 中的 收件邮件服务器 并 创建 新配置。勾选或选择:guilabel:Outlook Oauth 身份验证`旁边的按钮,并输入:guilabel:`Microsoft Outlook 用户名
。 点击 连接您的 Outlook 帐户。Odoo 将显示: Outlook 令牌有效 现在 :guilabel:` 测试并确认` 帐户。该账户应已准备好向 Odoo 数据库接收电子邮件。