常见的邮件问题及解决方案

本页面列出了最常见的邮件问题及其解决方案。

Odoo 不是电子邮件提供商

Odoo 的功能不同于传统的电子邮件收件箱,例如 Gmail、Outlook、Yahoo 等。

虽然 Odoo 使用电子邮件作为通知和与用户/客户沟通的一种方式,但它的设计初衷并不是为了替代专用的电子邮件服务器。因此,与传统的电子邮件收件箱相比,它的行为可能不符合预期。

主要区别如下:

  • 默认情况下,一旦通知或事务性邮件(报价、发票、直接发送给联系人的消息)成功发送,邮件对象就会被删除。邮件消息的内容保存在相关记录的 chatter 中。如果内容已经存在于 chatter 中,它可以防止数据库因同一邮件内容的多个副本(当发送给多个收件人时)而变得杂乱。

  • 不存在(密件)抄送([B]CC)的概念。Odoo 使用添加到 chatter 的 关注者 概念来自动决定何时以及如何 通知联系人 或接收电子邮件的副本。

  • 接收邮件时,系统会检查 TO 邮件地址是否为 Odoo 数据库中的有效邮件地址,或者在回复邮件的情况下,检查邮件头中是否有与 Odoo 数据库发送的消息相匹配的引用。所有其他邮件将被退回,不会 暂时存放在垃圾邮件或隔离文件夹中。换句话说,任何与 Odoo 数据库无关的邮件都将丢失。

发件邮件

更改管理员用户账户的电子邮件地址

当创建Odoo数据库时,主管理员账户会被分配一个占位符电子邮件地址。建议 替换管理员电子邮件地址 为一个有效的电子邮件地址,以防止外发邮件问题。

为此,在管理员账户上,点击用户图标,点击 我的个人资料`(或 :guilabel:`偏好设置),然后更新 偏好设置 标签下的 电子邮件 字段。可以使用任何其他电子邮件地址,或者使用您的 Odoo 子域名(例如,company-name.odoo.com)和 admin 作为本地部分(例如,admin@company-name.odoo.com)。

传递失败

当消息发送时,聊天框中会显示一个 (envelope) 图标。当至少一个接收者发送失败时,图标会变为红色。

聊天窗口中显示的红信封图标。

左键点击信封以显示有关投递的信息,如果可能的话,还会显示相关的 错误消息

发送失败的示例。

点击 查看错误详情 以获取失败原因的额外信息,如果 Odoo 能够处理原始错误或退回邮件。

点击 发送并关闭 以重新尝试向 重试 列下所有 已启用 () 的收件人发送电子邮件。所有 已禁用 () 的收件人将被忽略。

点击 忽略所有 以忽略当前所有失败的邮件,并将信封图标从红色变为白色。

未发送的电子邮件也会出现在 Odoo 的电子邮件队列中。要访问它,请激活 开发者模式 并前往 设置 ‣ 技术 ‣ 电子邮件: 电子邮件

技术邮件队列视图示例。

失败的邮件显示为 投递失败 状态。点击 重试 将失败的邮件重新放入邮件队列。随后它将显示为 待发送 状态。邮件将在下一次邮件队列的定时任务运行时再次发送。

可选地,排队的邮件可以通过点击 立即发送 立即发送。点击 取消邮件 将其从邮件队列中移除。

注解

已发送的邮件会定期从队列中清理。这是由 Auto-Vacuum 计划任务控制的,该任务会清理您的 Odoo 数据库中的冗余数据。

常见错误信息

已达每日限额
邮件发送限制已达警告。

Odoo 限制了从 Odoo Online 数据库可以发送的电子邮件数量。大多数电子邮件服务提供商(例如,Google、Yahoo 等)如果 Odoo 的电子邮件服务器向不存在或不再有效的地址发送过多电子邮件,将会将 Odoo 的服务器 IP 列入黑名单。这也适用于通过 Odoo 数据库发送的未经请求的垃圾邮件。

默认的每日邮件发送限制在 5 到 200 封邮件 之间。具体限制取决于多个因素(可能会发生变化):

  • 数据库订阅类型(一个应用免费、试用、付费订阅)

  • 已安装的应用程序(例如,电子邮件营销,营销自动化)

  • 如果正在进行数据库迁移

如果达到每日限制,您可以:

重要

每日邮件限制会计算从您的 Odoo 数据库发出的每一封邮件,无论是手动还是自动触发的。默认情况下,任何内部消息、通知、记录笔记等,如果通过邮件通知某人,都会被视为一封邮件。这可以通过在 Odoo 中接收 通知 而不是通过邮件来缓解。

SMTP 错误

Simple Mail Transport Protocol (SMTP) 是一种用于在邮件服务器和/或邮件客户端之间传输电子邮件的标准。

如果你使用 外部 STMP 服务器发送邮件,存在一组标准的 SMTP 错误代码。虽然这些代码编号并非 Odoo 特有,但错误消息的具体内容可能会因邮件服务器的不同而有所差异。

Example

来自 sendgrid.com 的 550 SMTP 永久性投递错误:

Mail Delivery Failed
Mail delivery failed via SMTP server 'None'.
SMTPDataError: 550
The from address does not match a verified Sender Identity. Mail cannot be sent until this
error is resolved. Visit https://sendgrid.com/docs/for-developers/sending-email/sender-identity/
to see the Sender Identity requirements

错误信息表明您尝试从未经验证的电子邮件地址发送邮件。检查外发邮件服务器的配置或数据库的默认 FROM 地址是排查问题的良好起点,并确保您已在 sendgrid.com 上将电子邮件地址加入白名单。

通常,将错误信息内容输入到 Google 搜索中,可以获取有关根本原因以及如何纠正问题的信息。

如果问题无法解决且持续发生,请联系 Odoo 支持

没有错误产生

Odoo 并不总是能够提供有关投递失败原因的信息。不同的电子邮件提供商对退回邮件实施自己的策略,Odoo 并不总是能够正确解释这些策略。

如果同一个客户或同一个域名反复出现问题,请联系 Odoo 支持

注解

电子邮件发送失败但未显示错误消息的最常见原因之一与 SPFDKIM 配置有关。此外,请确保实施的电子邮件通知设置符合您的业务需求。有关更多信息,请参阅 Odoo 中的电子邮件通信文档

执行时间

邮件发送的确切时间由系统工具 cron (计划任务)处理,该工具可用于安排任务在预定时间间隔自动运行。Odoo 使用这种方法发送被视为“非紧急”的邮件(例如,群发邮件、营销自动化和活动等新闻通讯格式)。这样可以避免邮件服务器拥堵,并优先处理个人通信。

cron 是 Odoo 在后台运行以执行特定代码来完成任务的行动。Odoo 还会在某些工作流程中创建 cron 触发器,这些触发器可以提前触发计划行动。手动运行计划行动或更改其频率通常不推荐,因为这可能会导致错误或破坏特定的工作流程。

默认情况下,对于普通邮件队列, 邮件:邮件队列管理器 定时任务每60分钟运行一次。定时任务的最低运行间隔为5分钟。Odoo建议间隔15分钟以确保正常运行。如果间隔太短,可能无法处理所有邮件,这可能导致定时任务超时。

被视为紧急的电子邮件(如从一个人发送给另一个人的销售订单、发票、采购订单等)会立即发送。它们不会出现在 设置 ‣ 技术 ‣ 电子邮件:电子邮件 下,除非它们的投递失败。

邮件营销活动排队时发送信息头的示例。

邮件营销活动会在点击 发送 按钮后尽快发送,或在点击 计划 按钮后按预定时间发送。

对于电子邮件营销队列, 邮件营销:处理队列 的 cron 每天运行一次,但如果活动安排在此默认频率之外,它将 自动提前触发 。如果邮件列表包含大量收件人, 不建议 手动多次触发 cron,因为它不会加快处理时间,并且可能会产生错误。

小技巧

要编辑 crons,请启用 开发者模式 并前往 设置 ‣ 技术 ‣ 自动化:计划操作

另请参阅

有关在使用 Odoo.sh 时关于 crons 的更多信息,请查看 Odoo.sh 常见技术问题

邮件营销活动卡在队列中

如果多个电子邮件营销活动被放入队列,它们将根据创建日期按时间顺序进行处理。

Example

如果有三个活动:Campaign_1(1月1日创建)、Campaign_2(1月2日创建)和Campaign_3(1月3日创建),通过在所有三个活动上点击 发送 将它们放入队列中。

三个电子邮件营销活动的示例。

cron 将尝试处理 Campaign_1,然后处理 Campaign_2,最后处理 Campaign_3。在处理完 Campaign_1 之前,它不会开始处理 Campaign_2。

如果电子邮件活动从未离开队列,可能是队列顶部的活动存在问题。要进行故障排除,我们可以通过点击 取消 按钮将 Campaign_1 从队列中移除,然后查看其他两个活动是否能够发送。接着,我们可以尝试修复 Campaign_1 或联系 Odoo 支持

收件箱邮件

当接收邮件出现问题时,Odoo 本身可能不会有任何提示。而是尝试联系数据库的发送邮件客户端会收到退回消息(大多数情况下是 550: 邮箱不可用 错误信息)。

未收到电子邮件

联系 Odoo 支持 如果同一客户或域名存在重复问题。

Odoo 支持信息

以下是联系 Odoo 支持 时包含的有用信息列表:

  1. 从收件箱中导出的完整电子邮件。这些通常以 .eml.msg 文件格式保存,包含调查所需的技术信息。下载文件的具体过程取决于您的第三方电子邮件提供商。

    当使用本地电子邮件软件(例如,Thunderbird、Apple Mail、Outlook 等)同步电子邮件时,通常可以将本地电子邮件副本导出为 EML/MSG 文件。有关更多信息,请参阅所用软件的文档。

    小技巧

    如果可能,EML/MSG 文件应基于已发送且失败或导致问题的原始邮件。

    对于 收到的邮件:如果可能,请联系原始邮件发件人并请求原始邮件的 EML/MSG 副本。发送原始邮件的副本(转发)仅包含与故障排除相关的部分信息。

    对于 外发邮件:请提供邮件的 EML/MSG 文件,或指定数据库中受影响的记录(例如,销售订单编号、联系人姓名、发票编号)以及邮件发送的日期/时间(例如,邮件于 2024 年 1 月 10 日 11:45 AM 中欧时间发送)。

  2. 解释在Odoo中正常接收这些邮件所遵循的确切流程。尝试回答以下问题:

    • 这是 Odoo 收到回复的通知信息吗?

    • 这是 Odoo 数据库发送的信息吗?

    • 是否使用了入站邮件服务器,或者邮件是否通过自定义邮件服务器或提供商进行重定向/转发?

    • 有没有正确转发电子邮件的示例?

    • 您最近是否更改了任何与电子邮件相关的设置?更改后是否停止了工作?

  3. 以下问题的答案:

    • 这是一个普遍问题还是特定于某个用例?如果是特定用例,是哪一个?

    • 是否按预期工作?如果电子邮件是通过 Odoo 发送的,退回的电子邮件应该会到达 Odoo 数据库并显示 红色信封