Mailjet API

Odoo 与 Mailjet 的:abbr:`API(应用程序编程接口)`兼容,可用于邮件群发。通过在 Mailjet 账户和 Odoo 数据库中配置设置,通过 Mailjet 建立专用的邮件群发服务器。在某些情况下,还需要在自定义域名的 :`DNS(域名系统)`设置中进行配置。

在 Mailjet 中设置

创建应用程序接口证书

要开始操作,请登录 Mailjet 帐户信息 <https://app.mailjet.com/account>`_页面。然后,导航到 :guilabel:`发件人及域名 部分,点击 SMTP 和 SEND API 设置

SMTP and Send API Settings link in the Senders & Domains section of Mailjet.

然后,将 SMTP (简单邮件传输协议) 配置设置复制到记事本中。这些设置可在 配置(仅限 SMTP) 部分找到。SMTP(简单邮件传输协议) 配置设置包括服务器地址、所需的安全选项(使用 SSL(安全套接字层)/TLS(传输层安全))和端口号。在 Odoo中配置 Mailjet 需要这些设置,在:ref:`最后一节<maintain/mailjet-api/odoo-setup>`中有介绍。

重要

Odoo 屏蔽了 Odoo 在线版和 Odoo.sh 数据库上的 port 25. 参见此处的参考资料

Mailjet 的 SMTP 配置。

接下来,单击标有 检索您的应用程序接口证书 的按钮,以检索 Mailjet API 凭据。

然后,点击眼睛图标,显示 API key。将此密钥复制到记事本中,作为 Odoo 配置中的 用户名。接下来,点击 Generate Secret Key 按钮生成 密钥 。将此密钥复制到记事本中,作为 Odoo 配置中的 密钥

添加已核实的发件人地址

下一步是在 Mailjet 帐户设置中添加发件人地址或域,以便电子邮件地址或域获准使用 Mailjet 服务器发送电子邮件。首先,导航到 Mailjet 帐户信息 <https://app.mailjet.com/account>`_页面。然后,单击 :guilabel:`发件人和域名 部分下的 添加发件人域名或地址 链接。

在 Mailjet 界面添加发件人域名或地址。

确定是否需要将发件人的电子邮件地址或整个域添加到 Mailjet 设置中。如果 DNS 访问权限可用,则配置整个域可能更容易。跳转到 Add a domain 部分了解添加域的步骤。

注解

要么配置使用 Mailjet 服务器发送电子邮件的所有 Odoo 数据库用户的电子邮件地址,要么可以配置用户电子邮件地址的域名。

默认情况下,最初在 Mailjet 账户中设置的电子邮件地址会被添加为受信任发件人。要添加另一个电子邮件地址,请单击标有 添加发件人地址 的按钮。然后,添加配置为从自定义域发送的电子邮件地址。

至少应在提供商中设置以下电子邮件地址,并在 Mailjet 中进行验证:

  • notifications@yourdomain.com

  • bounce@yourdomain.com

  • catchall@yourdomain.com

注解

yourdomain 替换为 Odoo 数据库的自定义域。如果没有,则使用 mail.catchall.domain 系统参数。

然后,填写 电子邮件信息 表单,确保选择适当的电子邮件类型:交易电子邮件或群发电子邮件。填写表格后,系统会向该电子邮件地址发送一封激活电子邮件,然后即可激活受信任的发件人。

建议在发件人的域上设置 SPF(发件人策略框架)/: abbr:DKIM(域密钥识别邮件)/DMARC(基于域的消息验证、报告和一致性)

重要

如果数据库没有使用自定义域,那么为了验证发件人地址,应在 Odoo CRM 中设置一个临时别名(上述三个电子邮件地址)来创建线索。然后,数据库就能接收验证电子邮件并验证账户。

添加域名

将整个域添加到 Mailjet 帐户后,与该域相关的所有发件人地址都会自动验证,以便使用 Mailjet 服务器发送电子邮件。首先,导航到 Mailjet 帐户信息 <https://app.mailjet.com/account>`_页面。然后,单击 :guilabel:`发件人和域名 部分下的 添加发件人域名或地址 链接。然后,点击:guilabel:添加域名 添加自定义域名。

注解

域名需要添加到 Mailjet 账户,然后通过:abbr:`DNS(域名系统)`进行验证。

然后,在 Mailjet 上填写 添加新域名 页面,并单击 继续

添加域名后,将弹出一个验证页面。除非 Odoo 数据库是内部数据库(在这种情况下,请选择 选项 1),否则请选择 选项 2: 创建 DNS 记录。将 TXT 记录信息复制到记事本,然后导航到域名的 DNS (域名系统) 提供商完成验证。

The TXT record information to input on the domain's DNS.

在域名的 DNS 中设置

从 Mailjet 账户获取 TXT 记录信息后,向域名的 DNS (域名系统) 添加 TXT 记录。此过程因:abbr:DNS(域名系统) 提供商而异。具体配置过程请咨询提供商。TXT 记录信息由 主机 组成。将这些信息粘贴到 TXT 记录的相应字段中。

返回 Mailjet 账户信息

将 TXT 记录添加到域名的 DNS(域名系统)`后,返回 Mailjet 帐户。然后,导航至 :menuselection:`账户信息 –> 添加发件人域名或地址,单击 域名 旁边的齿轮图标,并选择 验证

要执行此操作,也可进入 Mailjet 账户信息中的`发送域和地址 <https://app.mailjet.com/ account/sender>`_页面,然后单击 管理

接下来,单击:guilabel:立即查看 以验证域上添加的 TXT 记录。如果域配置正确,将显示成功屏幕。

检查 Mailjet 中的 DNS 记录。

成功设置域后,可选择:guilabel:验证此域(SPF/DKIM)。此按钮会填充 :abbr:`SPF (发件人策略框架)`和 :abbr:`DKIM (域名密钥识别邮件)记录,以便输入到 :abbr:`DNS (域名系统)`提供商。

使用 Mailjet 中的 SPF/DKIM 记录验证域名。

在 Odoo 中设置

要完成设置,请导航至 Odoo 数据库并转至 设置。打开 开发者模式 后,进入 技术菜单 ‣ 电子邮件 ‣ 外发邮件服务器。然后,点击 创建 按钮创建新的外发服务器配置。

接着,输入先前从 Mailjet 账户复制的`SMTP 服务器`(in-v3.mailjet.com)、端口号`(587 465)和`安全性(SSL/TLS)。也可在此处 <https://app.mailjet.com/account/setup>`_ 找到。建议使用 SSL(安全套接字层)/: abbr:TLS(传输层安全),即使 Mailjet 可能不需要它。

对于 用户名,输入 API KEY。对于 密码,输入之前从 Mailjet 账户复制到记事本的 SECRET KEY。这些设置可在 Mailjet ‣ 帐户设置 ‣ SMTP 和 SEND API 设置 中找到。

然后,如果 Mailjet 服务器用于群发邮件,则将 优先 值设置为高于任何事务性电子邮件服务器的值。最后,保存设置并 测试连接

Odoo 发送电子邮件服务器设置。

重要

为了让 Mailjet 的通知功能正常工作,需要在 Odoo 中进行三个设置。

  1. 需要在服务器配置中设置 From Filter。建议将其设置为域,而不是完整的电子邮件地址。它应与接下来两个步骤中的域相匹配。更多信息可参考 此处

  2. mail.default.from`系统参数的值必须是`notifications/@yourdomain.com

  3. 系统参数 mail.default.from_filter 的值必须为 yourdomain.com。将 yourdomain 替换为 Odoo 数据库的自定义域名。如果没有,则使用 mail.catchall.domain 系统参数。

有关更多信息,请参阅 使用默认电子邮件地址

The System Parameters can be accessed by activating the developer mode.

设置完成后,Odoo 数据库就可以使用 Mailjet 电子邮件服务器发送群发邮件或事务性电子邮件了!