搜索
简帛阁>技术文章>odoo12发送邮件(使用mail.template)

odoo12发送邮件(使用mail.template)

编写邮件模板

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="0">
        <record id="send_msg_template" model="mail.template">
            <field name="name">邮件提醒</field>
            <field name="email_from">${<!-- -->object.sudo().create_uid.email_formatted | safe}</field>
            <field name="subject">${<!-- -->object.order_num}</field>
            <field name="model_id" ref="pdc_laboratory.model_laboratory_approval"/>
            <field name="email_to">
                ${<!-- -->(object.head_user.email)}
            </field>
            <field name="body_html" type="html">
                <html>
                    <head>
                        <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
                        <title>设备到期提醒</title>
                        <style>
                            span.oe_mail_footer_access {<!-- -->
                            display:block;
                            text-align:center;
                            color:grey;
                            }
                        </style>
                    </head>
                    <body>
                        <div>"border-radius: 2px; max-width: 1200px; height: auto;margin-left: auto;margin-right: auto;background-color:#f9f9f9;"</span>>
                            <div>"height:auto;text-align: center;font-size : 30px;color: #8A89BA;"</span>>
                                <strong>你借用的设备逾期了,请及时归还!</strong>
                            </div>
                        </div>
                    </body>
                </html>
            </field>
        </record>
    </data>
</odoo>

把写好的模板添加到__manifast__.py中,并且继承mail模块(‘depends’: [‘base’, ‘mail’])

模型中继承 mail.thread,编写发送方法

	@api.multi
    def action_send_email(self):
        self.ensure_one()
        if not self.head_user.email:
            raise UserError('用户%s未设置邮箱,无法发送!' % self.head_user.name)
        template_id = self.env.ref('pdc_laboratory.send_msg_template', raise_if_not_found=False)
        if template_id:
            # 调用了/addons/mail/models/mail_template.py的send_mail(),参数1(res_id)是呈现模板的记录的id,force_send:是否立即发送(否则使用邮件队列)
            template_id.sudo().with_context(lang=self.env.context.get('lang')).send_mail(self.id, force_send=True)
            

在模型的form视图上创建按钮并绑定

<header>
	<button string="发送邮件" type="object" name="action_send_email" class="btn btn-success" confirm="确定发送?"/>
</header>

效果图


编写邮件模板<?xmlversion10encodingutf8?><odoo><datanoupdate0><recordidsend_msg_templa
安装postgresql数据库官网:https://wwwpostgresqlorg/安装命令:InstalltherepositoryRPM:sudoyuminstallyhttps://downl
radio按钮的页面布局问题odoo的selection字段,boolean字段等都可支持radio的widget,而默认的widgetradio,其布局方式是垂直的,即从上到下顺序排列。但有时需要将
classEpidemicRecord(modelsModel):_name'epidemicrecord'表名namefieldsChar(string'姓名')string是用于前端显示的名字da
1在/etc/systemd/system/目录中创建odoo12service单元文件odoo12service文件内容[Unit]Description61;odoo12After61;postg
一、odoo10中需要发送文件需要首先配置邮箱1、2、以QQ邮箱为例打开QQ邮箱将授权码复制下面用到了。3、看到如下提示说明配置成功:二、进入编码部分,一共分为三部分:1、py文件@apimulti
针对企业批量自动发送邮件需求定制:由于员工达到一千人以上,所以采取分批发送邮件。每次发送200条邮件,每半个小时发一次。下面开始配置邮箱发送服务器:1、出向邮件服务器配置2、超级管理员Email配置由
修改odoo12代码,允许跨域访问。进入odoo12容器,如下3个目录修改源代码:/usr/lib/python3/distpackages/odoo/addons/web/controllers/
今天分享在Linux上使用mail命令通过SMTP对外发邮件mail、mailx和sendmail先看一下三者的关系:mail是mailx的别名,最初叫nail(与archlinux目前用的Sna
标题第三方发送邮件配置最常见的就是使用第三方的服务来配置发送邮件,以腾讯企业邮箱为例Settings>Technical>OutgoingMailServersSMTPServer:http://s