第七章 邮箱配置

Odoo原生把邮件能力嵌入在销售、采购、财务、门户、项目和消息区里。报价单可以通过邮件发送给客户,发票可以自动附带PDF,客户可以通过门户链接查看单据,员工也可以在业务单据上直接给客户发消息。

邮箱配置看起来只是填SMTP服务器,实际会影响客户能不能收到报价、能不能重置密码、客户回复能不能回到单据、邮件会不会进垃圾箱,以及多公司、多销售、多域名场景下发件人是否合规。本章我们就来看一下Odoo原生邮件的工作逻辑,以及国内企业邮箱、Outlook、Gmail和多公司邮箱环境下应该怎样落地。

邮件功能用在哪里

Odoo中常见的邮件场景包括:

  • 给客户发送报价单、订单确认和发票;
  • 给门户用户发送邀请、密码重置和系统通知;
  • 在销售订单、发票、项目任务等单据上给客户发送消息;
  • 员工收到活动提醒、审批提醒和业务通知;
  • 客户回复邮件后,沟通记录回到对应业务单据;
  • 邮件模板自动生成主题、正文、按钮和附件。

如果邮件没有配置好,表面上只是“发不出邮件”,实际会影响销售转化、财务开票、门户体验和内部协同。

先理解Odoo邮件链路

Odoo的邮件链路可以分成四部分:

业务单据 -> 邮件模板/消息区 -> 发件服务器 -> 客户邮箱
客户回复 -> 收件服务器/转发/MX -> Odoo邮件路由 -> 对应单据消息区

从实施角度看,要先分清楚三件事:

问题 说明
谁发出去 使用哪个SMTP或OAuth账号发送邮件
谁显示为发件人 客户看到的From地址是什么
回复到哪里 客户点击回复后,邮件回到哪个邮箱或单据

很多国内项目的问题就卡在第二点和第三点:邮箱服务商要求From必须等于登录账号,而Odoo又希望根据业务用户、公司、别名域、catch-all来组织发件和回信。

邮件设置入口

进入 设置,搜索“邮件”,可以看到邮件相关配置。

邮件设置

常见配置包括:

  • 自定义电子邮件服务器;
  • 发件服务器和收件服务器;
  • 邮件别名域;
  • 邮件模板;
  • 摘要邮件;
  • Gmail或Outlook集成;
  • 邮件插件或其他集成模块。

不同Odoo版本和安装模块不同,界面上的选项会略有差异。实施时不要只看菜单是否存在,还要确认当前数据库安装了哪些邮件相关模块,以及服务器是否允许访问目标邮箱服务。

原生发件服务器

Odoo发送邮件通常需要发件服务器。常见方式有两类:

方式 适用场景
SMTP 企业邮箱、国内邮箱、部分自建邮件服务器
OAuth Outlook/Office365、Gmail等要求新式认证的邮箱

启用自定义邮件服务器后,可以进入发件服务器配置。

发件箱配置

一个典型的SMTP发件服务器配置如下:

发件服务器

常见字段包括:

字段 说明
描述 给管理员看的服务器名称
SMTP Server 邮箱服务商提供的SMTP地址
SMTP端口 常见为465或587
连接安全性 SSL/TLS或STARTTLS
用户名 邮箱账号
密码 邮箱密码、授权码或应用密码
From Filter 限定这个服务器处理哪些发件地址或域名

国内使用网易、腾讯、阿里等企业邮箱时,经常不是填写登录密码,而是填写邮箱后台生成的授权码。配置完成后,可以先测试连接。

成功提示

也可以在技术菜单中找到邮件记录,再发送测试邮件。

测试邮件

收到的测试邮件示例:

收件效果

这里要提醒客户一句:连接成功不等于业务可用。真正要测试的是报价、发票、密码重置、门户邀请这些真实业务邮件能不能送达,客户回复后能不能被正确处理。

原生收件和客户回复

Odoo不只是把邮件发出去,也可以把客户回复收回来,并尽量挂回原来的业务单据。

例如销售人员从报价单发送邮件,客户直接回复这封邮件。如果收件配置、回复地址和邮件路由都正确,回复可以回到对应报价单或销售订单的消息区。

收件通常依赖以下能力之一:

方式 说明
收件服务器 Odoo定时读取IMAP/POP邮箱
邮件转发 邮箱服务商把邮件转发给Odoo处理
MX/mail gateway 邮件直接进入Odoo邮件网关,常见于更专业部署

收件服务器配置示例:

收件服务器配置

如果企业只想先发报价和发票,第一期可以先只配置发件。如果企业希望客户回复自动留在Odoo单据上,就要认真设计收件、别名域和catch-all。

Catch-all和Bounce

Odoo邮件里经常会遇到两个词:catch-all和bounce。

概念 简单理解 用途
catch-all 全收邮箱 接收发给某个域名下各种别名的邮件,再交给Odoo分配
bounce 退信地址 处理退信、代发和邮件返回路径

Bounce相关参数可以在系统参数中查看或调整。

Bounce参数

在标准海外邮箱环境中,Odoo常使用别名域、catch-all和bounce处理回信、退信和单据匹配。但国内邮箱环境常见限制更多:

  • 免费版或普通企业邮箱不支持catch-all;
  • 邮箱要求发件人必须等于SMTP认证用户;
  • 不允许系统随意代发其他员工邮箱;
  • 需要授权码、应用密码或OAuth;
  • 对海外服务器登录、批量发送、异常登录有风控;
  • SPF、DKIM、DMARC未配置时更容易进垃圾箱。

所以国内项目不要默认照搬海外文档方案,而要先确认邮箱服务商规则。

国内项目的方案选择

第一期实施时,邮箱方案不一定越复杂越好。建议先按业务目标选择。

方案 适合场景 优点 注意事项
统一发件邮箱 小团队、第一期上线、只需发送报价发票 简单稳定 客户看到的是统一邮箱,不是个人销售邮箱
统一发件+统一收件 需要人工或系统集中处理客户回复 容易管理 回复不一定自动回到具体单据
每个用户独立邮箱 销售希望用个人邮箱对外沟通 客户识别度高 配置和维护成本高,容易遇到认证限制
多公司多邮箱 多品牌、多主体、多域名经营 发件身份更准确 需要严格匹配公司、域名和发件服务器
catch-all/别名域 希望客户回复自动回到单据 留痕效果好 国内邮箱服务商未必支持
OAuth集成 Outlook、Gmail等新式认证 安全合规 需要云平台应用和回调地址配置

小公司第一期可以先采用简单方案:

统一发件邮箱 -> 发送报价、发票和系统通知
统一收件邮箱 -> 接收客户回复或人工查看

例如:

  • service@company.com用于系统发件;
  • reply@company.com用于客户回复;
  • finance@company.com用于财务发票相关沟通;
  • 销售个人邮箱暂时不直接接入Odoo。

流程稳定后,再考虑每个销售使用自己的邮箱、多公司邮箱、catch-all或更复杂的邮件路由。

发送邮件和客户回复测试

邮箱配置完成后,建议用真实业务单据测试。可以创建一张销售订单或报价单,然后向客户邮箱发送邮件。

销售订单发送邮件

发送后,消息区会记录已经发出的邮件。

消息区记录

客户收到邮件后的效果示例:

客户收到邮件

如果客户直接回复邮件,回复地址会进入系统声明的收件邮箱或catch-all邮箱。

客户回复地址

在技术菜单中的邮件记录里,可以进一步检查邮件和业务单据之间的关联。

邮件记录详情

测试时不要只给内部邮箱发一封“Hello”。至少要覆盖:

  • 内部邮箱和外部邮箱;
  • QQ、网易、腾讯企业邮、Outlook等不同收件方;
  • 报价邮件、发票邮件、密码重置邮件和门户邀请;
  • PDF附件能否打开;
  • 客户回复后是否能被收到;
  • 邮件是否进入垃圾箱;
  • 测试库是否可能误发真实客户。

这些测试是实施过程中的风险控制,不建议写成客户验收清单,但顾问自己要认真做。

邮件模板

Odoo中很多邮件都由模板生成,例如报价邮件、发票邮件、密码重置邮件和门户邀请邮件。

邮件模板会影响:

  • 邮件标题;
  • 正文内容;
  • 按钮文字;
  • 附件;
  • 使用语言;
  • 公司签名;
  • 门户链接。

修改模板前要先复制或记录原始内容。不要随意删除模板变量,例如客户名称、单据链接、门户链接、附件表达式,否则邮件可能无法正常生成。

对于面向客户的模板,建议使用真实业务场景预览:客户能不能看懂、按钮是否明确、公司签名是否正确、附件是否符合预期。邮件模板不是“美化文案”这么简单,它会直接影响客户是否顺利完成确认、付款或查看门户单据。

国内免费邮箱的常见报错

国内邮箱最常见的问题是发件人不匹配。

典型报错类似:

SMTPSenderRefused: 553 Mail from must equal authorized user

或:

SMTPSenderRefused: 501 mail from address must be same as authorization user

意思是:Odoo声明的发件人和SMTP登录邮箱不是同一个邮箱,邮件服务器拒绝发送。

下面是一个多公司和国内邮箱环境下的示例配置。

多公司邮箱示例

用户邮箱和声明发件人不一致时,国内邮箱服务商可能会拒绝发送。

用户邮箱示例

常见处理方向:

处理方式 适合场景
使用固定公司邮箱作为统一发件人 第一阶段快速上线
让From和SMTP认证用户保持一致 腾讯企业邮、网易企业邮等严格场景
为不同公司配置不同发件服务器 多公司、多域名业务
使用OAuth认证 Outlook、Gmail等云邮箱
调整catch-all和bounce策略 客户回复需要进入Odoo
使用本地化邮件模块 原生配置无法满足国内限制时

第一种方式最简单,但无法满足“每个销售用自己邮箱对外沟通”的场景。后几种方式更灵活,但配置和维护成本更高。

腾讯企业邮配置

腾讯企业邮在国内项目中很常见,但经常遇到“发件人必须等于认证用户”的限制。

常用服务器参数:

POP3/SMTP协议
接收邮件服务器:pop.exmail.qq.com,SSL,端口995
发送邮件服务器:smtp.exmail.qq.com,SSL,端口465

IMAP协议
接收邮件服务器:imap.exmail.qq.com,SSL,端口993
发送邮件服务器:smtp.exmail.qq.com,SSL,端口465

配置前要确认:

  • 邮箱账号已启用POP/IMAP/SMTP;
  • 使用的是授权码或正确密码;
  • 企业微信/腾讯企业邮后台没有限制第三方客户端;
  • Odoo发件人和SMTP认证用户是否一致;
  • 当前服务器网络可以连接腾讯企业邮服务器。

腾讯企业邮后台配置示例:

腾讯企业邮配置

常见报错:

SMTPSenderRefused: 501 mail from address must be same as authorization user

如果企业要求多个用户通过同一个腾讯企业邮发信,就需要调整发件策略,或使用支持严格发件人匹配处理的模块。

Office365/Outlook OAuth配置

Office365和Outlook逐步收紧了基本身份验证。很多情况下,不能再简单用邮箱密码配置SMTP/IMAP,而需要使用OAuth新式认证。

配置前提:

  • Odoo需要能通过HTTPS访问;
  • 回调地址需要和Odoo的base URL一致;
  • Microsoft Entra ID中需要创建应用;
  • 用户或组织需要允许对应权限;
  • SMTP Auth可能需要单独开启。

注册应用

进入Microsoft Azure/Entra管理后台,创建应用注册。

Office365注册应用

应用类型通常选择Web,回调地址填写:

https://你的Odoo域名/microsoft_outlook/confirm

如果使用本地测试环境,部分OAuth场景只允许HTTPS或http://localhost,普通HTTP域名可能无法通过。

应用注册页面示例:

Office365应用注册详情

设置API权限

在应用的API权限中,按Odoo的Outlook集成要求添加邮件相关权限。

Office365 API权限入口

Office365 API权限选择

最终权限界面示例:

Office365权限结果

常见权限包括:

  • 读取用户基本资料;
  • 发送邮件;
  • 读取邮件;
  • 离线访问令牌。

具体权限会随Odoo版本和Microsoft策略变化,配置时以当前Odoo界面提示和Microsoft后台为准。

还需要确认用户或用户组可以使用该应用。

Office365企业应用

Office365用户和组

Office365分配用户

创建凭据

Odoo需要两个关键参数:

  • Client ID;
  • Client Secret。

Client ID可以在应用概览页面获取。Client Secret需要在证书和密码中生成。生成后要立即保存,后续可能无法再次查看明文。

Client ID位置示例:

Office365 Client ID

Client Secret生成入口:

Office365 Client Secret

在Odoo中连接Outlook账号

回到Odoo,填写Client ID和Client Secret,然后创建或编辑邮箱服务器。

Odoo的Outlook凭据

服务器类型选择Outlook OAuth认证,点击连接Outlook账号,跳转到Microsoft登录页面完成授权。

Odoo的Outlook邮箱服务器

完成授权后,邮箱服务器会显示令牌有效状态。

Outlook授权成功

授权成功后,回到Odoo测试连接。

Office365常见问题

SmtpClientAuthentication is disabled for the tenant

这通常表示租户或用户没有启用Authenticated SMTP。

Office365 SMTP Auth提示

处理方向:

  • 进入Microsoft 365管理中心;
  • 找到目标用户;
  • 编辑邮件应用设置;
  • 勾选Authenticated SMTP;
  • 等待策略生效后重新测试。

Microsoft 365管理中心示例:

Office365用户管理

Email App中开启Authenticated SMTP:

Office365开启SMTP

Redirect URI不匹配

检查:

  • Odoo的Web Base URL;
  • Microsoft应用中的重定向URI;
  • 是否使用HTTPS;
  • 域名后是否多了斜杠或路径不一致。

Gmail OAuth配置

Gmail也常使用OAuth认证,不建议直接使用普通密码。

在Odoo设置中启用Gmail后,系统会要求填写ID和密钥。

Gmail设置

配置大致步骤:

  1. 打开Google Cloud Console;
  2. 创建项目;
  3. 配置OAuth同意屏幕;
  4. 创建Web应用OAuth凭据;
  5. 设置授权重定向URI;
  6. 将Client ID和Client Secret填入Odoo;
  7. 创建Gmail发件服务器;
  8. 点击连接Gmail账号完成授权。

重定向URI通常类似:

https://你的Odoo域名/google_gmail/confirm

Google Cloud Console中新建项目示例:

Google项目

OAuth同意屏幕示例:

Google OAuth同意屏幕

创建OAuth凭据:

Google OAuth凭据

填写授权重定向URI:

Google重定向URI

在Odoo中创建Gmail发件箱:

Gmail发件箱

点击连接Gmail账号完成认证:

连接Gmail账号

认证成功后的状态示例:

Gmail认证成功

常见问题:

问题 处理方向
Redirect URI mismatch 检查Google后台回调地址和Odoo的base URL
认证后500错误 检查网络、域名、证书和OAuth配置
测试用户无法授权 检查OAuth同意屏幕测试用户列表
发信失败 检查Gmail API、授权范围和邮箱服务器配置

Gmail在国内网络环境中可能不稳定,国内客户使用前要充分测试。

欧姆网络邮箱解决方案

当项目进入多公司、多域名、多销售邮箱或国内严格邮箱服务商场景时,原生配置有时会不够顺。例如:

  • A公司下使用sales@companya.com
  • B公司下使用sales@companyb.com
  • 客户回复要进入对应公司或对应单据;
  • 发件箱需要按公司、域名、用户进行匹配;
  • 邮箱服务商要求From必须等于SMTP认证用户;
  • 客户环境不支持catch-all。

这些问题不是Odoo不会发邮件,而是原生邮件机制和国内邮箱规则之间存在落地缝隙。为了解决这些实施痛点,可以使用青岛欧姆网络科技的邮箱配置解决方案作为增强。

模块入口:

欧姆邮箱配置解决方案

模块示例:

欧姆邮箱模块

安装后,可以在通用设置中看到和catch-all、严格发件人匹配相关的配置项。

Catch All设置

配置后再次发送邮件,可以解决部分国内邮箱严格发件人匹配导致的失败问题。

修正后发送邮件

客户收到邮件示例:

修正后客户收件

典型能力:

  • 发件箱支持公司维度配置;
  • 发件箱可以匹配对应收件箱;
  • 支持限制发件人和认证邮箱一致;
  • 支持不使用catch-all的国内邮箱环境;
  • 支持用户在多公司下配置优先邮箱;
  • 适合外贸、多公司、多邮箱销售团队。

发件箱公司匹配

在多公司环境中,可以为发件箱指定适用公司。留空表示所有公司可用。

发件箱公司配置

这样可以避免A公司业务误用B公司邮箱发信。

Catch-all匹配

发件箱可以关联对应收件箱。配置后,由该发件箱发出的邮件,可以声明对应的回复地址。

发件箱Catch All配置

例如:

发件箱:service@odoomommy.com
回复邮箱:catchall@odoohub.com.cn

客户回复时,会回复到指定的catch-all或收件邮箱,再由系统处理。

用户多公司优先邮箱

如果员工在不同公司下使用不同邮箱,可以在用户上配置多公司优先邮箱。

用户多公司邮箱配置

例如:

公司 用户邮箱
A公司 a@companya.com
B公司 a@companyb.com

系统发送邮件时,可以根据当前公司优先使用对应邮箱。

注意:邮箱后缀需要能匹配到对应发件箱域名,否则仍可能发送失败。

实施建议

邮箱配置不要一上来就追求最复杂。更稳的方式是按阶段推进:

阶段 建议
第一阶段 统一发件邮箱,确保报价、发票、密码重置、门户邀请能正常发送
第二阶段 配置收件或统一回复邮箱,让客户回复有地方沉淀
第三阶段 根据销售团队和多公司需求,再启用个人邮箱、多公司邮箱或OAuth
第四阶段 如果国内邮箱规则限制明显,再引入欧姆邮箱方案或定制策略

对大多数自主实施客户来说,第一阶段先把“能稳定发出去、客户能收到、不进垃圾箱、模板内容正确”做好,就已经能支撑销售和财务主流程。等团队真正开始依赖Odoo消息区,再逐步完善客户回复留痕和多邮箱规则。

本章我们把Odoo邮件配置从原生链路、发件收件、catch-all、国内邮箱限制、OAuth认证和欧姆邮箱增强方案串了一遍。下一章会继续讲“消息与讨论”,也就是业务单据右侧的消息区如何记录沟通、安排活动、管理关注者,并和本章的邮件配置一起形成完整的协同闭环。

results matching ""

    No results matching ""