You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 16默认邮件样式修改遇阻:RTL失效及样式添加求助

解决Odoo 16邮件样式修改的两个常见问题

问题1:RTL文本方向发送后被删除

Odoo邮件发送时的HTML净化机制会过滤全局属性或非内联的direction设置,解决步骤:

  • 关闭HTML净化:打开对应邮件模板的设置,找到「净化HTML」(Purify HTML)选项并取消勾选,这样自定义的dir属性或direction样式不会被自动清理。注意仅在自己编写安全HTML的场景下使用。
  • 强制内联样式:不要仅在<body>标签设置RTL,给所有内容容器(如<div>、<table>)添加内联样式:
    <div style="direction: rtl; text-align: right; unicode-bidi: embed;">
        <!-- 邮件内容 -->
    </div>
    
    内联样式的优先级更高,被过滤的概率更低。

问题2:销售订单确认邮件样式被清除

Odoo的邮件系统会统一注入全局样式,同时清理非白名单内的样式属性,解决方法:

  • 通过模块继承模板并添加内联样式:创建自定义模块,继承销售订单确认邮件模板(sale.email_template_confirmation),用XPath定位需要修改的容器,添加内联样式:
    <template id="custom_sale_confirmation_style" inherit_id="sale.email_template_confirmation">
        <xpath expr="//table[@class='oe_mail_notification']" position="attributes">
            <attribute name="style">direction: rtl; background-color: #f8f9fa;</attribute>
        </xpath>
    </template>
    
  • 使用Odoo允许的样式属性:避免使用position、float等可能被过滤的属性,优先使用color、background-color、padding、direction、text-align等白名单内的样式。
  • 禁用全局样式注入(可选):如果需要完全自定义样式,可在模块中重写邮件发送的逻辑,跳过Odoo的全局样式注入,但此方法需谨慎操作,避免影响其他邮件样式。

内容的提问来源于stack exchange,提问作者Mohammad Saeedian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 11:23:33