使用 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)。
在 Redirect URL 部分,选择 Web 作为平台,然后在 URL 字段中输入 https://1/microsoft_outlook/confirm
。web.base.url
会根据用于登录数据库的 URL 发生变化。
注解
有关 web.base.url 的文档解释了如何冻结唯一 URL。还可以在 Microsoft 应用程序上添加不同的重定向 URL。
将 URL 添加到字段后,注册 应用程序就创建好了。
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 数据库接收电子邮件。