管理入站信息

入站信息是发送到 Odoo 数据库的电子邮件。任何人都可以向数据库中创建的电子邮件别名发送电子邮件,或根据 reply-to 标题回复之前从数据库发送的电子邮件。

电子邮件别名

特定型号别名

有些应用程序有特定的别名(销售团队、服务台团队、项目等)。这些别名用于:

  • 当电子邮件直接发送到别名时创建记录、

  • 接收最初从记录发送的电子邮件的回复。

示例

本地部分 “信息” 用于销售团队别名。

在上面显示的示例中,向 info@company-name.odoo.com 发送电子邮件,将创建一个新机会或自动分配给相应销售团队的新线索。如果从现有机会的聊天室发送电子邮件,回复至 将是 info@company-name.odoo.com 。回复将根据 message-id 标头发布到正确的聊天室。

预设

如果应用程序没有别名,则会使用通用的备用别名: catchall。从沟通栏发送的电子邮件的回复地址会设置为这个 catchall 别名。发送到 catchall 的回复会根据 message-id 头信息发布到正确的沟通栏。

默认情况下,将使用本地部分 catchall 。启用 开发者模式(调试模式) 并进入 设置 ‣ 技术 ‣ 电子邮件:别名域 访问配置。

发送到主机的电子邮件必须是对数据库中之前发送的电子邮件的回复。如果直接发送电子邮件到主机,发件人将收到以下信息:

来自 “MAILER-DEAMON” 的退件邮件,说明如何联系数据库。

注解

上面截图中显示的电子邮件地址 info@company-name.com 是公司设置的电子邮件地址。进入公司简介的开发者模式后,其他配置选项(如 catchall 和 bounce)将变得可读。可以通过点击电子邮件域的内部链接进行修改。除非有特殊需要,否则一般不建议修改这些选项,因为这将影响对以前发送的电子邮件的所有回复。

示例

可以在客户关系管理应用程序中,为销售团队配置别名。当客户回复来自客户关系管理应用程序的电子邮件时,回复至 为 info@company-name.odoo.com 。

从联系人应用程序发送电子邮件时,由于联系人模型上没有别名,所以回复地址是 catchall@company-name.odoo.com 。

注解

建议保持 catchall 和退回的本地部分不变。如果修改了该值,以前从数据库发送的邮件仍将使用以前的本地部分值。这可能导致数据库无法正确接收回复。

退回

与 catchall 别名用于创建回复地址的方式相同,退回别名也用于创建电子邮件的 返回路径 。当邮件无法送达收件人并向发件人返回错误信息时,就会使用 返回路径 。

默认情况下将使用 bounce 名称。启用 开发者模式(调试模式) 并进入 设置 ‣ 技术 ‣ 电子邮件: 别名域 访问配置。

注解

在 Odoo 云端版上,当使用默认的外发邮件服务器时,返回路径地址会被强制设置为 bounce@company-name.odoo.com ,与设置为退回别名的值无关。

发生错误时,会收到通知并以红色信封形式显示在沟通栏中。在某些情况下,红色信封中可能只包含一条 无错误 信息,这意味着有一个 Odoo 无法处理的错误。

导航栏上的 “讨论” 图标也会显示通知。

发送给联系人的电子邮件出现问题,导航栏上报告了错误。

示例

如果收件人的电子邮件地址不正确,点击对话框中的红色信封,就会出现包含失败原因的错误信息。

发送到错误域名的电子邮件会生成一个显示为红色信封的退回邮件。

使用 Odoo 的默认配置接收电子邮件

在 Odoo 云端版 和 Odoo.sh 上,电子邮件别名、回复和退回地址已预先配置。这些地址使用自动添加到标准数据库中的别名域。

示例

假设数据库 URL 为 https://mydatabase.odoo.com ,则会自动创建别名域 mydatabase.odoo.com 。可以使用 Catchall 和 bounce,它们的地址分别是 catchall@mydatabase.odoo.com 和 bounce@mydatabase.odoo.com 。

如果安装了 CRM 应用程序,并创建了一个别名为 信息 的销售团队,则可立即使用 info@mydatabase.odoo.com 地址。在其他应用程序中创建的其他别名也是如此。

数据库域无需任何额外配置即可用于接收电子邮件。

使用多个 Odoo 子域

在 Odoo 云端版 上,唯一的 Odoo 子域是创建数据库时定义的子域。

在 Odoo.sh 上,可以使用多个 Odoo 子域。在分支机构的设置中,可以添加其他 Odoo 子域,只要这些子域尚未在其他分支机构中使用。这些域必须添加到公司使用的别名域中。

在分支上设置 Odoo 子域。

注解

有关为子域配置 DNS 记录的更多信息,请参阅 DNS 记录设置。

使用自定义域接收入站邮件

必须在常规设置中选择 别名域 。如果有多个公司,则必须对每个公司进行配置。

常规设置中的别名域。

所有别名都将使用此自定义域。对已配置别名的模型的回复将发送到 [alias]@my-custom-domain.com 。对其他模型的回复将通过 catchall@my-custom-domain.com 发送到 catchall。

在 Odoo 中使用自定义域时,邮件路径的技术模式。

重要

如果在使用自定义域名时使用 Odoo 的电子邮件服务器发送电子邮件,请遵循 “使用 Odoo 电子邮件服务器的自定义域名” 说明 。

由于使用的是自定义域,所有使用别名的电子邮件(回复、退回和直接发送)都会发送到该域的地址。因此,它们会被发送到与域(MX 记录)相关联的电子邮件服务器。要在聊天工具中显示这些邮件或创建新记录,必须在 Odoo 数据库中检索这些接收到的邮件。

方法

优点

缺点

重定向

设置简单,电子邮件可直接发送到数据库。

需要配置数据库的每个别名。

接收邮件服务器

允许在邮箱中保存电子邮件副本(使用 IMAP)。允许在所选模型中创建记录。

取决于 CRON,这意味着电子邮件不会立即在数据库中检索到。需要对数据库的每个别名进行配置。

DNS 记录

只需创建一条记录即可使所有别名正常工作。

需要使用子域。需要高级技术知识。

重要

对于 本地部署数据库,重定向和 DNS 记录方法还需要配置 邮件网关脚本。使用此脚本需要 高级技术和基础设施知识。

重要

有关如何处理以下方法的详细信息,请参阅提供商的文档。

重定向

如果数据库托管在 Odoo Online 或 Odoo.sh,建议使用重定向。重定向可使数据库在接收信息时不会出现延迟。

警告

在 Microsoft 365(Exchange Online)中配置电子邮件重定向时,请注意某些技术限制可能会影响您的设置。部分用户反馈,Microsoft 365 不支持真正的重定向,仅允许转发,这可能无法满足 Odoo 电子邮件路由的需求。

有关 Microsoft Exchange 配置的更多信息,请访问 Microsoft Learn。

必须将接收地址和跳转地址重定向到数据库的 Odoo 子域。使用的其他别名也必须重定向。

示例

如果只有一个销售团队,则需要进行以下重定向:

  • catchall@company-name.com → catchall@company-name.odoo.com

  • bounce@company-name.com → bounce@company-name.odoo.com

  • info@company-name.com → info@company-name.odoo.com

重要

有些提供商要求通过向目标电子邮件地址发送链接来验证重定向。由于 catchall 和 bounce 不用于创建记录,因此该程序对它们来说是个问题。

  1. 修改邮件别名域的 catchall 值。必须启用 开发者模式(调试模式) 才能访问此菜单。例如,可以将 catchall 改为 temp-catchall 。这将允许使用 catchall 作为另一个别名的本地部分。

  2. 打开使用别名的应用程序。例如,CRM 包含每个销售团队的别名。将 catchall 设置为销售团队别名的本地部分。

  3. 验证电子邮件将在 CRM 应用程序中创建一条记录。发送的电子邮件将在聊天记录中显示,以便您验证重定向。

  4. 不要忘记更改回销售团队的别名和邮件别名域上的 catchall 值,就像在此过程之前一样。

转发 是重定向的另一种选择。使用转发时,转发电子邮件的地址将被识别为发件人,而使用重定向时,原始发件人将始终保持不变。

重要

当使用电子邮件重定向来管理收到的邮件时,可能需要进行额外配置以确保正常运行。

某些电子邮件服务提供商(例如 Gmail)要求在转发邮件前必须明确确认转发地址,否则转发功能可能无法正常工作。

此外,当使用重定向代替收件服务器时,除非在相应的别名上启用了 基于本地部分的收件检测,否则该别名可能会显示为 @yourdb.odoo.com 域名。此设置位于 设置 ‣ 技术 ‣ 别名 下。

收件服务器

如前所述,使用重定向是在 Odoo 中接收电子邮件的推荐方法。不过,也可以设置接收邮件服务器。使用此方法意味着要为您服务器上的每个邮箱、catchall、bounce 以及数据库的每个别名分别创建一个接收电子邮件服务器,以便获取所有传入的电子邮件。

警告

Odoo 的 接收邮件服务器 功能专为共享收件箱(例如 sales@yourcompany.com 或 support@yourcompany.com)设计,用于将消息路由到团队管道、工单或文档。

不建议 将个人电子邮件地址(例如 mitchell.admin@yourcompany.com)用作接收邮件服务器。这样做会增加安全风险,可能导致意外的消息路由、隐私问题,并使回复难以正确同步。

转到 设置 ‣ 技术 ‣ 电子邮件:接收邮件服务器,即可创建接收邮件服务器。

重要

我们建议使用 IMAP 协议而不是 POP 协议,因为 IMAP 会获取所有未读邮件,而 POP 会获取所有邮件历史记录,然后在邮箱中将其标记为已删除。

小技巧

也可以通过 Gmail 与 Google OAuth 或 Outlook 与 Microsoft Azure OAuth 连接邮箱。

无论选择哪种协议,都会使用 邮件:Fetchmail 服务 计划的操作来获取邮件。

此外,在 Odoo 中使用接收邮件服务器还可在指定模型中创建新记录。每个邮件服务器都可以在不同的模型中创建记录。

示例

通过 task@company-name.com 收到的电子邮件由 Odoo 数据库获取。所有获取的电子邮件都将在数据库中创建一个新的项目任务。

在 Odoo 中使用自定义域时,邮件路径的技术模式。

DNS 记录

第三种方法是使用专用子域(例如 mail.mydomain.com),并配置其 DNS 记录,使发送到该子域地址的电子邮件由 Odoo 接收处理,并直接在您的数据库中进行处理。

重要

对于 Odoo Online 和 Odoo.sh,只有在使用专用子域时才支持基于 CNAME 的路由。无法在根域(例如 mydomain.com)上进行配置。

请注意,此子域将专用于电子邮件流量。如果在 Web 浏览器中访问该子域,用户将被重定向到数据库上配置的第一个网站(如适用)。

由于正在为入站邮件配置新子域,因此还必须为其 设置外发邮件的 DNS 记录。

  • 访问您的 DNS 设置

    • 如果您的域名托管在第三方注册商处(例如 GoDaddy、Namecheap、Cloudflare),请登录该注册商,并打开您域名的 DNS 管理区域。

    • 如果您的 DNS 由 Odoo 管理:

      • 打开 数据库管理器。

      • 点击数据库旁边的 齿轮 图标,然后选择 域名。

      • 点击 DNS,然后点击 添加 DNS 记录。

  • 创建 CNAME 记录

    • 名称 / 主机: 您要使用的子域(例如 mail)。

    • 内容 / 目标: 数据库的根域名(例如 dbname.odoo.com.)。

  • 将子域添加到您的 Odoo 门户

    • 在 数据库管理器 中,点击您数据库的 齿轮 图标,然后选择 域名。

    • 点击 使用我自己的域名,输入完整子域(例如 mail.mydomain.com)。验证成功后,点击 我确认,已完成。

      注解

      如果验证失败,请仔细检查 CNAME 目标是否以结尾的点号结束(例如 dbname.odoo.com.),因为某些 DNS 提供商有此要求。此外,请留出一些时间让 DNS 更改传播 — 根据您的提供商不同,这可能需要几分钟到 48 小时不等。传播完成后,请再次尝试验证。

  • 将别名域添加到数据库

    • 登录数据库并打开 设置 应用。

    • 在 别名域 字段中,输入您配置的子域(例如 mail.mydomain.com)。

      在设置中添加别名域。

在 域名 部分,子域应如下所示:

Odoo 门户中的域名记录配置示例。

在 DNS 部分,记录应如下所示:

Odoo 门户中的 DNS 记录配置示例。

第二条记录使 Odoo 能够从您的自定义域发送经过身份验证的电子邮件。

注解

除了 CNAME 记录,您也可以为子域(例如 mail)创建 MX 记录,将其指向 dbname.odoo.com.,优先级为 10。其余配置步骤保持不变。

请注意,与 CNAME 不同,MX 记录不会从目标域继承 SPF 或其他 DNS 记录,因此您可能需要单独配置这些记录,以便外发邮件能够正确通过身份验证。

无限循环的电子邮件

在某些情况下,可能会产生无限的邮件循环。Odoo 提供了一些防止此类循环的保护措施,确保同一发件人无法在特定时间跨度内向别名发送过多 会创建记录 的邮件。

默认情况下,一个电子邮件地址在 120 分钟内最多可发送 20 封电子邮件。如果发送了更多邮件,则会被阻止,发件人会收到以下信息:

尝试联系太多次后,收到一封别名邮件被退回。

要更改默认行为,请启用 开发者模式(调试模式) ,然后转到 设置 ‣ 技术 ‣ 系统参数:系统参数 添加两个参数。

  • 对于第一个参数,输入 mail.gateway.loop.minutes 作为 密钥 ,并选择一个分钟数作为 值 (120 是默认行为)。

  • 对于第二个参数,输入 mail.gateway.loop.threshold 作为 密钥 ,并选择一个邮件数作为 值 (20 是默认行为)。

允许别名域系统参数

收件别名是在 Odoo 数据库中设置的,用于通过接收收件邮件创建记录。要查看 Odoo 数据库中设置的别名,首先激活 开发者模式。然后,进入 设置应用程序 ‣ 技术 ‣ 别名。

下面的系统参数 “mail.catchall.domain.allowed” 设置了允许的别名域值(用逗号分隔),可筛选掉正确发送给别名的电子邮件。设置别名可创建工单、销售线索、商机等的域,可消除电子邮件地址中只有前缀别名而没有域的误报。

在某些情况下,如果收到的电子邮件具有相同的别名前缀,而收到的电子邮件地址具有不同的域,则会在 Odoo 数据库中进行匹配。在收到的电子邮件的发件人、收件人和 抄送 电子邮件地址中都存在这种情况。

示例

当 Odoo 收到发件人、收件人或 CC(抄送) 电子邮件地址(例如 commercial/@example.com)中带有 “商务” 前缀别名的电子邮件时,数据库会错误地将该电子邮件视为具有不同域的完整 “商务” 别名,并因此创建工单/销售线索/商机等。

要添加 mail.catchall.domain.allowed 系统参数,首先,激活 开发者模式 。然后,转到 设置应用程序 ‣ 技术 ‣ 系统参数 。点击 新建 。然后,在 Key 字段中输入 mail.catchall.domain.allowed 。

接下来,对于 值 字段,添加以逗号分隔的域。手动 (保存) ,系统参数立即生效。

mail.catchall.domain.allowed 系统参数集。

收件时检测本地的别名域

创建新别名时,可选择启用 基于本地部分的传入检测 。如果启用,Odoo 在路由接收电子邮件时只要求本地部分匹配。如果关闭此功能,Odoo 在路由接收电子邮件时需要匹配整个电子邮件地址。