【零散技术】详解Odoo17邮件发送(一)

15 篇文章 0 订阅
11 篇文章 1 订阅

序言:时间是我们最宝贵的财富,珍惜手上的每个时分

        Odoo的邮件功能十分强大,在非常多的场景中可以看见其应用,例如原生的用户邀请,报价单发送,询价单发送等等....

       那么抛开原生自带的功能,我们如何巧妙的通过代码进行自定义邮件的发送呢?

目录

目录

1.准备工作

        1.1开启POP3/SMTP

1.2 Odoo内设置发件服务器

2.邮件发送

2.1简单邮件发送

2.1.1 XML代码

2.1.2 python代码

2.1.3 其他注意事项

3.总结

1.准备工作

        1.1开启POP3/SMTP

        首先我们需要进行邮件服务器的设置:我们依旧以qq邮箱为例:

开启POP3/SMTP服务

发送短信验证码

验证完成后获取授权码,记住此授权码,之后将会被当作密码使用。

1.2 Odoo内设置发件服务器

        激活【开发者模式】,通过【技术】菜单 选择 【邮件发送服务器】进行设置

新建一条记录,输入如下数据

序号字段输入
1名称任意字段
2用户名邮箱
3密码POP3授权码
4链接加密SSL/TLS
5SMTP服务器smtp.qq.com
6

SMTP端口

465

填写完如上内容后,点击【测试链接】按钮,右上角应当出现 【链接测试成功】字样

注意:请点击右上角【个人信息】->【偏好】选项,将电子邮件设为 当前服务器电子邮件

2.邮件发送

2.1简单邮件发送

        我们以最简单的邮件发送为例:我们发送一个内容型文字      

2.1.1 XML代码

       短短十行xml,我们便可定义一个基础的邮件模版,供后台使用。

<odoo>
    <data>
        <record id="ro_order" model="mail.template">
            <field name="name">随便写</field>
            <field name="model_id" ref="model_ro_order"/>
            <field name="auto_delete" eval="True"/>
        </record>
    </data>
</odoo>
2.1.2 python代码

        依旧是短短十行,即可得到一个发送邮件功能

    def send_mail(self,email_to):
        mail_template = self.env.ref('ro_base.ro_order')

        mail_template.subject = '【XXXX】-%s'%self.name
        mail_template.lang = 'zh_CN'
        mail_template.email_to =email_to
        mail_template.email_from ='543127346@qq.com'
        mail_template.body_html = '您的报告查询成功:<a href="%s">点击下载</a>'%self.line_ids[0].content
        mail_template.report_template_ids = False
2.1.3 其他注意事项

        一定记得把 xml在 __manifest.py中进行引用,否则将找不到这个邮件模版。

3.总结

        通过配置邮件服务器、编写代码,我们可以发送任意想要的内容给指定的邮箱,但是如上的例子仅仅只是一个demo,我们如何美化发送的邮件内容,例如 添加附件,美化格式....

        且听下回分解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值