常见电子邮件问题和解决方案¶
本页列出了最常见的电子邮件问题及其解决方案。
Odoo 不是电子邮件提供商¶
Odoo 的功能与传统电子邮件收件箱不同,例如 Gmail、Outlook、Yahoo 等。
虽然 Odoo 使用电子邮件作为通知用户/客户并与之沟通的方式,但从设计上讲,它并不能取代专用电子邮件服务器。因此,与传统的电子邮件收件箱相比,它的行为可能与预期的不同。
主要区别如下:
默认情况下,一旦通知或事务邮件(报价、发票、给联系人的直接信息)发送成功,邮件对象就会被删除。电子邮件内容会保存在相关记录的沟通栏记录中。如果同一邮件的内容已存在于聊天记录中,则可避免因同一邮件内容的多个副本(发送给多个收件人时)而造成数据库混乱。
没有(密件)抄送([B]CC)的概念。Odoo 使用添加到聊天工具的 关注者 概念来自动决定何时以及如何 通知联系人 或接收电子邮件副本。
处理传入电子邮件时,会检查*TO*电子邮件地址是否是 Odoo 数据库中的有效电子邮件地址,如果是回复电子邮件,则检查电子邮件标题中是否有与 Odoo 数据库发送的邮件相匹配的引用。所有其他电子邮件都将被退回,不会 被暂时存放在垃圾邮件或隔离文件夹中。换言之,任何与 Odoo 数据库无关的电子邮件都会丢失。
传出电子邮件¶
更改管理员用户账户的电子邮件地址¶
创建 Odoo 数据库时,会为主要管理员账户分配一个占位符电子邮件地址。建议用有效的电子邮件地址 替换管理员电子邮件地址,以防止出现外发电子邮件问题。
要执行此操作,请在管理员账户上点击用户图标,点击 我的个人资料 (或 偏好),并更新 偏好 选项卡下的 电子邮件 字段。请使用任何其他电子邮件地址,或使用您的 Odoo 子域(例如,company-name.odoo.com
)和本地部分的 admin`(例如,`admin@company-name.odoo.com
)。
传递失败¶
发送信息时,聊天窗口中会显示 (信封) 图标。一旦发送失败,图标会变成红色。

左键点击信封,显示有关递送的信息,如有可能,还可显示相关的 错误信息。

点击 查看错误详情 获取有关失败原因的额外信息,如果 Odoo 能够处理原始错误或退回邮件。
点击 发送并关闭 重新发送电子邮件给 再试一次 栏下所有**已触发的**()收件人。所有**已关闭的**()收件人将被忽略。
点击 全部忽略 忽略所有当前失败的电子邮件,并将信封图标从红色变为白色。
未发送的电子邮件也会出现在 Odoo 电子邮件队列中。要访问它,请激活 开发者模式 并转到 。

失败的邮件会显示 发送失败 状态。点击 重试 可将失败的邮件再次放入邮件队列。然后它将显示 外发 状态。下次运行电子邮件队列的预定操作时,将再次发送该电子邮件。
或者,可以通过点击立即发送排队的电子邮件 立即发送。点击 取消电子邮件 将其从电子邮件队列中删除。
注解
已发送的电子邮件会定期从队列中清除。这是由 Auto-Vacuum 计划动作控制的,该操作可清理 Odoo 数据库中的冗余数据。
常见错误消息¶
已达每日限额¶

Odoo 限制从 Odoo 在线数据库发送电子邮件的数量。如果Odoo 的电子邮件服务器向不存在,或不再有效的地址发送过多电子邮件,大多数电子邮件服务提供商(如谷歌、雅虎等)会将 Odoo 服务器 IP 列入黑名单。这也适用于通过 Odoo 数据库发送的未经请求的垃圾邮件。
默认的每日电子邮件限制为 5 到 200 封。具体限制取决于多个因素(可能会发生变化):
数据库订阅类型(单一应用程序免费、试用版、付费订阅)
已安装的应用程序(如电子邮件营销、营销自动化)
如果正在进行数据库迁移
如果达到了每日限额,您可以:
联系 Odoo 技术支持 以增加您的电子邮件配额。我们将考虑以下因素:
数据库用户数量
已安装应用程序
退回率(由于电子邮件服务器在发送给最终收件人的途中被电子邮件退回,而未收到邮件的电子邮件地址的百分比)。
-
小技巧
使用自定义域名时,请确认 SPF、DKIM 和 DMARC 已正确配置,以便 Odoo 的电子邮件服务器可以代表您的自定义域名 发送电子邮件。
使用外部发送电子邮件服务器 独立于 Odoo 的电子邮件限制。
等到第二天,重新尝试发送电子邮件。请激活 开发者模式,进入 ,然后点击未发送电子邮件旁边的 重试。
重要
每日电子邮件限制会计算离开 Odoo 数据库的每封手动或自动触发的电子邮件。默认情况下,任何内部消息、通知、记录的备注等,如果通过电子邮件通知某人,都算作电子邮件。可以通过在 Odoo <discuss_app/notification_preferences>` 中接收 通知 而不是通过电子邮件,以减少这种情况。
SMTP 错误¶
简单邮件传输协议 (SMTP) 是用于在电子邮件服务器和/或电子邮件客户端之间传输电子邮件的标准。
如果您使用 外部 STMP 服务器发送电子邮件,则存在一组标准的`SMTP 错误代码 <https://en.wikipedia.org/wiki/List_of_SMTP_server_return_codes#Common_status_codes>`_。虽然这些代码并非 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
错误信息表明您尝试从未经验证的电子邮件地址发送电子邮件。调查外发电子邮件服务器配置或数据库的默认 来自 地址是排除故障的一个良好起点,并验证您是否在 sendgrid.com 一侧将该电子邮件地址列入了白名单。
通常,在 Google 搜索中输入错误消息内容可以得到有关根本原因可能是什么以及如何纠正问题的信息。
如果问题无法解决且不断发生,请联系 Odoo 技术支持。
没有错误产生¶
Odoo 并不总是能够提供有关发送失败原因的信息。不同的电子邮件提供商对退回的电子邮件执行各自的政策,而 Odoo 并不总能正确理解这些政策。
如果同一客户或同一域重复出现问题,请联系 Odoo 技术支持。
注解
电子邮件发送失败且无错误信息的最常见原因之一与 SPF 或 DKIM 配置有关。此外,请确认已实施的电子邮件通知设置是否符合您的业务需求。请参阅 通过电子邮件在 Odoo 中进行交流的说明文档 获取更多信息。
执行时间¶
发送电子邮件的确切时间由系统实用程序 *cron*(计划行动)处理,该程序可用于安排任务在预定时间间隔内自动运行。Odoo 使用这种方法来发送被认为 “不紧急” 的电子邮件(即新闻邮件格式,如群发、营销自动化和活动)。这避免了邮件服务器的杂乱无章,而是确定了单个通信的优先级。
cron 是 Odoo 在后台执行特定代码以完成任务的操作。Odoo 还会在某些工作流程中创建 cron 触发器,可在预定日期之前触发预定操作。一般不建议手动运行预定操作或更改其频率,因为这可能会产生错误或破坏特定的工作流程。
默认情况下,对于普通电子邮件队列,邮件:电子邮件队列管理器 cron 每 60 分钟运行一次。cron 的最低运行间隔为 5 分钟。Odoo 建议间隔时间为 15 分钟,以确保正常运行。如果间隔时间太短,可能无法处理所有邮件,从而导致 cron 超时。
被认为是紧急的电子邮件(从一个人发送给另一个人,如销售订单、发票、采购订单等)会立即发送。它们不会显示在
,除非发送失败。
电子邮件会尽快发送(点击 发送 按钮后)或在预定时间发送(点击 时间安排 按钮后)。
对于电子邮件营销队列,电子邮件营销:处理队列 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 数据库中每个操作的时间戳。这有助于追踪离开数据库的电子邮件。日志还可显示发送失败的情况,即邮件重复尝试发送。日志会显示从数据库到电子邮件服务器的每个操作。
实时日志位于 ~/logs/
文件夹中(可通过命令行或 Odoo.sh 面板访问)。日志文件每天早上 5:00 创建(UTC)。
小技巧
当天和前一天的两个最新文件分别命名为 odoo.log
和 odoo.log.1
。
较早日期的日志文件使用日期命名,并经过压缩。使用 grep 和 zgrep 命令搜索文件。
Odoo 支持信息¶
以下是联系 Odoo 支持 时应包含的有用信息列表:
从收件箱中导出完整的电子邮件。这些文件通常为`.eml`或`.msg`文件格式,其中包含调查所需的技术信息。下载文件的具体过程取决于第三方电子邮件提供商。
使用本地电子邮件软件(如 Thunderbird、Apple Mail、Outlook 等)同步电子邮件时,通常可以将电子邮件的本地副本导出为 EML/MSG 文件。更多信息请参阅所用软件的文档。
小技巧
如果可能,EML/MSG 文件应基于已发送但出现故障或导致问题的原始电子邮件。
对于 收到的电子邮件:如果可能,请联系原始电子邮件发件人,并索取原始电子邮件的 EML/MSG 副本。发送原始电子邮件副本(转发)只包含与故障排除有关的部分信息。
对于 外发电子邮件:提供电子邮件的 EML/MSG,或指定数据库中受影响的记录(如销售订单号、联系人姓名、发票号)以及电子邮件的发送日期/时间(如电子邮件于欧洲中部时间 2024 年 1 月 10 日上午 11:45 发送)。
解释在 Odoo 中正常接收这些邮件的具体流程。尝试回答以下问题:
这是 Odoo 收到回复的通知信息吗?
这是 Odoo 数据库发送的信息吗?
使用的是接收电子邮件服务器,还是通过自定义电子邮件服务器或提供商重定向/转发电子邮件?
有没有正确转发电子邮件的示例?
您最近是否更改过任何与电子邮件相关的设置?更改后是否停止工作?
回答下列问题:
这是一般问题还是特定用例的问题?如果是针对某个用例,是哪个用例?
是否按预期运行?如果邮件是使用 Odoo 发送的,退回的邮件应到达 Odoo 数据库并显示 红色信封。