管理入站邮件¶
入站消息是指发送到 Odoo 数据库的电子邮件。任何人都可以向在数据库中创建的电子邮件别名发送电子邮件,或者根据 回复至 标头回复之前从数据库发送的电子邮件。
电子邮件别名¶
模型特定别名¶
某些应用有其特定的别名(销售团队、帮助台团队、项目等)。这些别名用于:
当电子邮件直接发送到别名时创建记录,
接收最初从记录发送的电子邮件的回复。
Example
在上面的示例中,发送电子邮件到 info@company-name.odoo.com
将自动创建一个新的商机或线索,并分配给相应的销售团队。如果从现有商机的讨论中发送电子邮件,回复至 将是 info@company-name.odoo.com
。根据 message-id 头信息,回复将发布在正确的讨论中。
预设¶
如果应用程序没有别名,则使用通用备用别名:catchall。从 chatter 发送的电子邮件会将回复地址设置为该 catchall 别名。发送到 catchall 的回复会通过 message-id 标头发布到正确的 chatter。
默认情况下,将使用本地部分 catchall。启用 开发者模式 并前往 以访问配置。
发送到 catchall 的邮件必须是对数据库中已发送邮件的回复。如果直接向 catchall 发送邮件,发件人将收到以下消息:
注解
上图中显示的电子邮件地址 info@company-name.com
是公司在系统中设置的地址。进入公司档案的开发者模式后,额外的配置选项(如 catchall 和 bounce)将变为可读。可以通过点击电子邮件域的内部链接来修改这些选项。通常不建议修改这些选项,除非有特定需求,因为这会影响所有对之前发送邮件的回复。
Example
可以在 CRM 应用中的销售团队上配置一个别名。当客户回复来自 CRM 应用的邮件时,回复至 地址为 info@company-name.odoo.com
。
当从联系人应用发送电子邮件时,回复地址为 catchall@company-name.odoo.com
,因为联系人模型上没有别名。
注解
建议保持 catchall 和 bounce 的 local-part 不变。如果修改此值,从数据库发送的先前电子邮件仍将具有先前的 local-part 值。这可能导致回复无法正确接收到数据库中。
退回¶
与 catchall 别名用于构建回复地址的方式相同,bounce 别名用于构建邮件的 return-path 。当邮件无法送达收件人且错误返回给发件人时,会使用 return-path 。
默认情况下,将使用名称 bounce。启用 开发者模式(调试模式) 并前往 以访问配置。
注解
在 Odoo Online 上,使用默认的发送邮件服务器时,无论设置的退回别名为何值,返回路径地址都会被强制设置为 bounce@company-name.odoo.com
。
当发生错误时,会收到通知并在 chatter 中以红色信封显示。在某些情况下,红色信封可能仅包含一条 no error
消息,这意味着存在 Odoo 无法处理的错误。
通知也会显示在导航栏的 Discuss 图标中。
Example
如果收件人的电子邮件地址不正确,通过点击 chatter 中的红色信封,将会显示包含失败原因的错误信息。
使用 Odoo 的默认配置接收邮件¶
在 Odoo Online 和 Odoo.sh 上,电子邮件别名、回复和退回地址是预先配置好的。这些地址使用自动添加到标准数据库中的别名域。
Example
假设数据库的URL是 https://mydatabase.odoo.com
,别名域 mydatabase.odoo.com
会自动创建。Catchall和bounce功能可以使用,它们的地址分别为 catchall@mydatabase.odoo.com
和 bounce@mydatabase.odoo.com
。
如果安装了CRM应用,并且创建了一个别名为 info
的销售团队,那么 info@mydatabase.odoo.com
地址可以立即使用。同样适用于在其他应用中创建的任何其他别名。
数据库域名已准备就绪,无需任何额外配置即可接收电子邮件。
使用多个 Odoo 子域名¶
在 Odoo Online 上,唯一的 Odoo 子域是在数据库创建时定义的那个。
在 Odoo.sh 上,可以使用多个 Odoo 子域名。在分支的设置中,只要这些子域名尚未在其他分支中使用,就可以添加额外的 Odoo 子域名。然后,这些域名必须被添加到公司使用的别名域名中。
为接收消息使用自定义域名¶
必须在常规设置中选择 别名域 。如果您有多个公司,则必须为每个公司进行配置。
所有别名都将使用此自定义域名。对于配置了别名的模型,回复将发送至 [alias]@my-custom-domain.com
。对于其他模型的回复,将通过 catchall@my-custom-domain.com
发送至全能邮箱。
重要
如果使用自定义域名时通过 Odoo 的邮件服务器发送邮件,请按照 “使用自定义域名与 Odoo 邮件服务器” 的说明 操作。
由于使用了此自定义域名,所有使用别名的电子邮件(回复、退信和直接发送)都会被发送到该域名下的地址。因此,它们会被传递到与该域名关联的电子邮件服务器(MX记录)。要在聊天记录中显示它们或创建新记录,必须将这些收到的电子邮件检索到Odoo数据库中。
方法 |
优点 |
缺点 |
---|---|---|
易于设置,电子邮件直接发送到数据库。 |
数据库的每个别名都需要进行配置。 |
|
允许在您的邮箱中保留邮件的副本(使用IMAP)。允许在所选模型中创建记录。 |
依赖于 CRON,意味着邮件不会立即被检索到数据库中。每个数据库的别名都需要进行配置。 |
|
只需创建一条记录即可使所有别名正常工作。 |
需要使用子域名。需要具备高级技术知识。 |
重要
对于 本地数据库,重定向和 MX 记录方法还需要配置 邮件网关脚本。使用此脚本需要 高级的技术和基础设施知识。
重要
请参考您的服务提供商的文档,以获取有关如何处理以下详细方法的更多详细信息。
Redirections¶
如果数据库托管在 Odoo Online 或 Odoo.sh 上,建议使用重定向。它们允许消息在数据库中无延迟接收。
必须将 catchall 和退回地址重定向到数据库的 Odoo 子域。使用的所有其他别名也必须重定向。
Example
对于一个销售团队,需要以下重定向:
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 来说是一个问题,因为它们不用于创建记录。
修改邮件别名域上的 catchall 值。必须启用 开发者模式(调试模式) 才能访问此菜单。例如,可以将其从
catchall
更改为temp-catchall
。这将允许使用catchall
作为另一个别名的本地部分。打开一个使用别名的应用。例如,CRM 为每个销售团队包含别名。将
catchall
设置为销售团队别名的本地部分。验证邮件将在CRM应用中创建一条记录。发送的邮件将在聊天记录中可见,以便您验证重定向。
不要忘记将销售团队的别名和邮件别名域上的 catchall 值改回此过程之前的状态。
注解
重定向的替代方案是 转发。使用转发时,转发邮件的地址将被识别为发件人,而在重定向时,原始发件人将始终保留。
接收邮件服务器¶
如前所述,使用重定向是在 Odoo 中接收电子邮件的推荐方法。然而,也可以设置接收邮件服务器。使用此方法意味着为服务器上的每个邮箱、catchall、bounce 以及数据库的每个别名创建一个接收邮件服务器,以获取所有传入的电子邮件。接收邮件服务器可以通过前往
来创建。重要
我们建议使用 IMAP 协议而非 POP 协议,因为 IMAP 会获取所有未读邮件,而 POP 会获取所有邮件的历史记录,然后将它们标记为在您的邮箱中已删除。
小技巧
也可以通过 Gmail 使用 Google OAuth 或 Outlook 使用 Microsoft Azure OAuth 连接邮箱。
无论选择哪种协议,电子邮件都是通过 Mail: Fetchmail Service 计划操作来获取的。
此外,在 Odoo 中使用入站邮件服务器提供了在指定模型中创建新记录的机会。每个入站邮件服务器可以在不同的模型中创建记录。
Example
在 task@company-name.com
上收到的邮件将由 Odoo 数据库获取。所有获取的邮件都将在数据库中创建一个新的项目任务。
MX record¶
第三种选择是在您的 DNS 区域中创建一个 MX 记录,该记录指定管理发送到您域名的电子邮件的邮件服务器。需要高级技术知识。
重要
此配置仅适用于 Odoo Online 或 Odoo.sh 基础设施上的子域名(例如,@mail.mydomain.com
)
以下是基于托管类型的一些规格说明:
无限邮件循环¶
在某些情况下,可能会创建无限邮件循环。Odoo 提供了一些针对此类循环的保护,确保同一发件人在特定时间段内无法向别名发送过多 会创建记录 的邮件。
默认情况下,一个电子邮件地址可以在120分钟内发送最多20封邮件。如果发送了更多邮件,它们将被阻止,发件人会收到以下消息:
要更改默认行为,请启用 开发者模式(调试模式),然后转到 以添加两个参数。
对于第一个参数,输入
mail.gateway.loop.minutes
作为 键,并选择分钟数作为 值`(`120 是默认行为)。对于第二个参数,输入
mail.gateway.loop.threshold
作为 键,并选择一个电子邮件数量作为 值`(`20 是默认行为)。
重要
这些参数仅用于防止创建新记录。它们 不会阻止回复 被添加到讨论中。
允许别名域名系统参数¶
传入别名在 Odoo 数据库中设置,用于通过接收传入的电子邮件来创建记录。要查看 Odoo 数据库中设置的别名,首先需要激活 开发者模式。然后,转到 。
以下系统参数 mail.catchall.domain.allowed
,设置为允许的别名域值,用逗号分隔,可以过滤出正确发送到别名的电子邮件。设置别名可以创建工单、线索、机会等的域,可以消除仅存在前缀别名而不存在域名的电子邮件地址的误报。
在某些情况下,当收到的电子邮件具有相同的别名前缀和不同的域名时,Odoo 数据库中会进行匹配。这适用于发件人、收件人和 CC 电子邮件地址中的传入电子邮件。
Example
当 Odoo 在发件人、收件人或 CC 电子邮件地址中接收到带有 commercial
前缀别名的邮件时(例如 commercial@example.com),数据库错误地将该邮件视为完整的 commercial
别名,尽管域名不同,因此会创建一个工单/线索/机会等。
要添加 mail.catchall.domain.allowed
系统参数,首先需要激活 开发者模式。然后,进入 。点击 新建。接着,在 键 字段中输入 mail.catchall.domain.allowed
。
接下来,在 Value 字段中,添加以逗号分隔的域名。手动 (保存),系统参数将立即生效。
基于本地部件的来件检测¶
在创建新别名时,有一个选项可以启用 基于本地部分的入站检测。如果启用此功能,Odoo 只需要本地部分匹配即可路由入站邮件。如果关闭此功能,Odoo 则需要整个电子邮件地址匹配才能路由入站邮件。