ODOO12,11,10配置阿里邮箱腾讯邮箱,邮件失败解决方法,销售及费用邮箱配置实例
-
原文地址,更清晰的图文排版: https://www.sunpop.cn/odoo_email_config_ali_fail_fix/
在odoo12的版本中,邮件已经很容易配置。 强烈建议阿里企业云邮箱,支持相同邮件域代发(例如实际和代发邮件帐户都是 @sunpop.cn),省却大量麻烦。 腾讯企业邮箱虽然也支持代发,但不支持odoo经过bounce后的发件地址,所以会比较麻烦。 设置正常后,发出的邮件中,显示发件人均为您设置的本公司 email,如 [email protected] , 而实际的发邮件帐户为 postmaster-odoo。 默认设置中多数邮件均为实时发送,少数日程型邮件为每小时检查一次进行发送,每5分钟进行一次收件。 当你正常使用odoo的邮件集成后,你会发现odoo为你打开了一扇全新的大门。 关键信息主动提醒,各种原生统计分析定期自动汇报,信息自动化将让你尽享方便, 充分感受到领导的地位,同时也会引导你走向钉钉/微信的应用整合康庄大道。
先看一下成功设置后的效果,邀请邮件
如果你很不幸运的无法使用阿里邮,那么下文中也有改代码的方法,如果你比较懒,可以直接安装我们在odoo应用市场上的收费补丁app_send_mail_no_bounce,安装完即可正常使用腾讯邮箱等。
下面我们来说说如何在odoo里进行邮箱的正确设置
odoo中,邮件收发服务器配置都设置好并测试ok,发送邮件时却失败,原因在于收件人(isp反垃圾邮件策略)会反查来源地址,如不存在此账户,则拒绝接收.
另一个原因是国内与国外的邮箱不同。odoo默认使用catchall来做回复邮件地址, 为正确路由,会将发件人设置为 bounce-xxx的方式,导致发件人和认证信息不符合。
odoo默认发件者为[email protected]( 后缀为你在odoo中设置的“别域名),如果你的邮件服务器上没有此默认发件者账号,就会有被拒绝,导致发送邮件不成功,解决办法:
1 .出向配置中增加邮箱账号“[email protected]”,设置-->参数-->系统参数为 mail.bounce.alias 为 "postmaster-odoo"
2.【对支持bounce的邮局比如阿里云企业邮局可以不用改】在addons\base\ir\ir_mail_server.py 中修改代码,odoo12注释445行,odoo11则注释427行,odoo10则注释 396行,改为如下内容
# smtp_from = from_rfc2822[-1]" smtp_from = self._get_default_bounce_address()
=======
3、输入邮箱账户、密码信息,根据需要选择使用的邮件协议,输入相应的服务器信息:
阿里云企业邮箱现在网页版默认为 SSL 加密登录,如需全程 SSL 加密,收费版邮箱请访问 mail.mxhichina.com 登录;免费版请使用 qiye.aliyun.com 登录。
POP 协议,接收服务器名称:pop3.mxhichina.com,或者pop3.您的邮箱域名,端口号110,ssl加密端口995。
IMAP 协议,接收服务器名称:imap.mxhichina.com,端口号143,ssl加密端口993。
注意,odoo要用ssl加密方式,特别是在阿里云服务器。
发送服务器名称:smtp.mxhichina.com,端口25,ssl加密端口465。
4、为每一个用户设置收邮件,有两种办法,第一种是如果邮件服务器有catchall功能,那么配置好,入向邮箱增加 "[email protected]";第二种就是一个一个设置了。
5、销售用email实例。
设置好收件帐号后,将不同销售团队设置邮件别名,如图直销团队用[email protected],则发邮件至 [email protected],则会在该团队生成一个商机
6、费用email实例。
配置好后,向 [email protected] 发如图的邮件,则会生成相关费用明细及说明,并对应好费用提交人。十分方便。
- 万网云邮箱所需要设置的解析记录如下:
操作解析的域名 解析记录类型 优先级 解析记录值
@ MX 5 mxn.mxhichina.com.
@ MX 10 mxw.mxhichina.com.
pop3 CNAME - pop3.mxhichina.com.
smtp CNAME - smtp.mxhichina.com.
mail CNAME - mail.mxhichina.com.
@ TXT - v=spf1 include:spf.mxhichina.com -all有关邮件的 bounce 可参考以下文章
https://renjie.me/2017/05/13/odoo-mail-delivery-integration/
=======================
odoo邮件基础
这里我们先将问题一分为二,按照顺序从发送开始说,理解透彻了发送模式对后续接收及分发原理会有一定的帮助相关系统参数:
mail.bounce.alias(默认值bounce,无界面设置)
mail.catchall.domain(默认值odoo域名,可以在通用设置别名域里设置)发送账号配置:
默认localhost用于本地自建smtp邮件发送服务器使用,如Postfix服务
一般配置成企业邮箱专门为之新建的一个ODOO账号,如[email protected]发件名义原则:
1、系统邮件如新用户邀请、密码重置等以公司Email设置里的邮箱名义发送,如[email protected]
2、个人邮件如操作者自己的业务沟通,以用户对应的联系人Email设置里的邮箱名义发送,如[email protected]三大发送模式:
1、简单发送(mail.catchall.domain不设置)
直接用发送账号发出,发件人需要与发送账号相同或者是其同一账号下的其他别名,否则会被邮件系统拒绝,如SMTPSenderRefused: 501 mail from address must be same as authorization user [email protected]。接收方也直接回复该真实地址,非常容易理解,属于最原始的模式,最适合做邮件通知这种只集成发送不用集成接收的情况2、代理发送(mail.catchall.domain设置,mail.bounce.alias不设置)
间接用postmaster-odoo账号代发出,发送账号需要具有该名称授权,否则也会被邮件系统拒绝,如SMTPSenderRefused: 501 mail from address must be same as authorization user [email protected]。接收方默认回复catchall专用地址,由于属于代发,且发件地址、代发地址、回复地址都可以不相同,第一次使用还会有些颠覆邮箱观,甚至某些客户端出于谨慎还会出现欺诈提醒,但这确是目前国内用的最多的务实模式,大部分教程都是以此展开详解3、反弹发送(mail.catchall.domain设置,mail.bounce.alias设置)
间接用bounce地址代发出,如[email protected]或者[email protected],其中+5为邮件流水号,-2为单据流水号,可见前者还是单据相关邮件,接收方也默认回复catchall专用地址,因为其涉及到邮件接收等相关知识,而且国内免费邮箱服务基本没有完美支持,本文将不深入探讨,待以后ODOO邮件接收集成的时候在讨论如何配合Postfix实现完美收发自如