当前位置: 首页 > news >正文

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

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

        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.namemail_template.lang = 'zh_CN'mail_template.email_to =email_tomail_template.email_from ='543127346@qq.com'mail_template.body_html = '您的报告查询成功:<a href="%s">点击下载</a>'%self.line_ids[0].contentmail_template.report_template_ids = False
2.1.3 其他注意事项

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

3.总结

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

        且听下回分解。

相关文章:

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

序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo的邮件功能十分强大&#xff0c;在非常多的场景中可以看见其应用&#xff0c;例如原生的用户邀请&#xff0c;报价单发送&#xff0c;询价单发送等等.... 那么抛开原生自带的功能&#xff0c;我们如何巧妙的通过代码进行自…...

函数题 6-5 求自定类型元素的最大值【PAT】

文章目录 题目函数接口定义裁判测试程序样例输入样例输出样例 题解解题思路完整代码AC代码 编程练习题目集目录 题目 要求实现一个函数&#xff0c;求N个集合元素S[]中的最大值&#xff0c;其中集合元素的类型为自定义的ElementType。 函数接口定义 ElementType Max( Element…...

Python---爬虫

文章目录 目录 前言 一.Http请求/响应模块 requests模块 二.文本筛选模块 re模块 XPath模块 XPath 路径表达式 XPath 语法元素 三. 爬虫模板 爬虫案例 前言 Python爬虫是一种通过自动化程序爬取互联网上的信息的技术。爬虫可以自动访问网页并提取所需的数据&#xff0c;比…...

设计模式之组合设计模式

一、组合设计模式概念 组合模式 (Component) 是一种结构型设计模式&#xff0c;将对象组合成树形结构以表示“部分-整体”的层次结构。 组合模式使得用户对单个对象和组合对象的使用具有唯一性。 适用场景 想要表示对象的部分-整体层次结构。想要客户端忽略组合对象与单个对象的…...

Java汽车销售管理

技术架构&#xff1a; springboot mybatis Mysql5.7 vue2 npm node 有需要该项目的小伙伴可以添加我Q&#xff1a;598748873&#xff0c;备注&#xff1a;CSDN 功能描述&#xff1a; 针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能&…...

js TypeError: Cannot read property ‘initialize’ of undefined

js TypeError: Cannot read property ‘initialize’ of undefined 在JavaScript开发旅程中&#xff0c;遇到TypeError: Cannot read property ‘initialize’ of undefined这样的错误提示&#xff0c;无疑是令人沮丧的。这个错误通常意味着你试图访问一个未定义对象的initiali…...

【Motion Forecasting】【摘要阅读】BANet: Motion Forecasting with Boundary Aware Network

BANet: Motion Forecasting with Boundary Aware Network 这项工作发布于2022年&#xff0c;作者团队来自于OPPO。这项工作一直被放在arxiv上&#xff0c;并没有被正式发表&#xff0c;所提出的方法BANet在2022年达到了Argoverse 2 test dataset上的SOTA水准。 Method BANet…...

Cpp快速入门语法(下)(2)

文章目录 前言一、函数重载概念与使用C为何支持函数重载&#xff1f; 二、引用概念语法特性权限(常引用)使用场景与指针的区别 三、内联函数四、auto关键字(C11)五、基于范围的for循环(C11)六、指针空值nullptr(C11)总结 前言 承前启后&#xff0c;正文开始&#xff01; 一、函…...

【GO开发】MacOS上搭建GO的基础环境-Hello World

文章目录 一、引言二、安装Go语言三、配置环境变量&#xff08;可跳过&#xff09;四、Hello World五、总结 一、引言 Go语言&#xff08;Golang&#xff09;因其简洁、高效、并发性强等特点&#xff0c;受到了越来越多开发者的喜爱。本文将带你一步步在Mac操作系统上搭建Go语…...

探索轻量级语言模型 GPT-4O-mini 的无限可能

随着人工智能技术的日益发展&#xff0c;语言模型正逐渐成为人们日常生活和工作中不可或缺的一部分。其中&#xff0c;GPT-4O-mini 作为一个轻量级大模型&#xff0c;以其强大的功能和易用性吸引了众多关注。本文将带您了解 GPT-4O-mini 的出色表现、应用场景以及如何免费使用这…...

CSS 笔记 1

1. CSS 优先级&#xff0c; 内部大于外部。 2. 几个属性&#xff1a; flex-grow: 1; 让 当前元素 在剩余空间中&#xff0c; 占据尽可能多的高度&#xff0c;确保它能在中间居中。 max-height: 300px; 限制最大高度 300 像素&#xff0c; flex-grow: 1; 导致占的太满了&#x…...

2024/9/16 dataloader、tensorboard、transform

一、pytorch两大法宝元素 假设有一个名为pytorch的包 dir()&#xff1a;用于打开包&#xff0c;看里面的内容 help():用于查看具体的内容的用处 二、python文件&#xff0c;python控制台和jupyter的使用对比 三、pytorch读取数据 pytorch读取数据主要涉及到两个类&#xff1…...

C/C++语言基础--从C到C++的不同(下),15个部分说明C与C++的不同

本专栏目的 更新C/C的基础语法&#xff0c;包括C的一些新特性 前言 1-10在上篇C/C语言基础–从C到C的不同(上&#xff09;&#xff1b;当然C和C的不同还有很多&#xff0c;本人暂时只总结这些&#xff0c;其他的慢慢更新&#xff1b;上一篇C/C语言基础–从C到C的不同(上&…...

物理感知扩散的 3D 分子生成模型 - PIDiff 评测

PIDiff 是一个针对蛋白质口袋特异性的、物理感知扩散的 3D 分子生成模型&#xff0c;通过考虑蛋白质-配体结合的物理化学原理来生成分子&#xff0c;在原理上&#xff0c;生成的分子可以实现蛋白-小分子的自由能最小。 一、背景介绍 PIDiff 来源于延世大学计算机科学系的 Sang…...

蓝桥杯-基于STM32G432RBT6的LCD进阶(LCD界面切换以及高亮显示界面)

目录 一、页面切换内容详解 1.逻辑解释 2.代码详解 code.c&#xff08;内含详细讲解&#xff09; code.h main.c 3.效果图片展示 ​编辑 二、页面选项高亮内容详解 1.逻辑解释 2.读入数据 FIRST.第一种高亮类型 code.c&#xff08;内含代码详解&#xff09; code.…...

2022高教社杯全国大学生数学建模竞赛C题 问题一(1) Python代码

目录 问题 11.1 对这些玻璃文物的表面风化与其玻璃类型、纹饰和颜色的关系进行分析数据探索 -- 单个分类变量的绘图树形图条形图扇形图雷达图 Cramer’s V 相关分析统计检验列联表分析卡方检验Fisher检验 绘图堆积条形图分组条形图 分类模型Logistic回归随机森林 import matplo…...

【3D打印】3D打印机运动控制“Gcode”

一、Gcode是什么&#xff1f; Gcode是一种用于控制数控机床&#xff08;包括3D打印机&#xff09;的语言。它由一系列指令组成&#xff0c;每个指令控制机器的一个特定动作。 二、基础术语 G指令&#xff1a;用于控制机器的运动。M指令&#xff1a;用于控制机器的其他功能&a…...

针对Chsrc换源工具的简单脚本

此脚本目前只是针对 X86和aarch64系统&#xff0c;可根据自身需求进行修改&#xff0c;点赞自取 关于工具的详细介绍请看上一篇文章&#xff1a;全平台通用的换源工具Chsrc #!/bin/bashtag1"https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-linux&…...

vscode中如何配置c/c++环境

“批判他人总是想的太简单 剖析自己总是想的太困难” 文章目录 前言文章有误敬请斧正 不胜感恩&#xff01;一、准备工作二、安装 VSCode 插件三、配置 VSCode1. 配置编译任务&#xff08;tasks.json&#xff09;2. 配置调试器&#xff08;launch.json&#xff09; 四、运行和调…...

【梯度消失|梯度爆炸】Vanishing Gradient|Exploding Gradient——为什么我的卷积神经网络会不好呢?

【梯度消失|梯度爆炸】Vanishing Gradient|Exploding Gradient——为什么我的卷积神经网络会不好呢&#xff1f; 【梯度消失|梯度爆炸】Vanishing Gradient|Exploding Gradient——为什么我的卷积神经网络会不好呢&#xff1f; 文章目录 【梯度消失|梯度爆炸】Vanishing Gradi…...

用Python和MNE库玩转BCI Competition IV 2a脑电数据集:从数据加载到可视化全流程

用Python和MNE库玩转BCI Competition IV 2a脑电数据集&#xff1a;从数据加载到可视化全流程当你第一次接触脑电信号处理时&#xff0c;面对原始数据文件可能会感到无从下手。BCI Competition IV 2a数据集作为脑机接口领域的经典基准数据&#xff0c;包含了9名受试者四种运动想…...

Tftpd32/Tftpd64不止是TFTP!手把手教你玩转它的DHCP和Syslog服务器功能

Tftpd32/Tftpd64&#xff1a;解锁DHCP与Syslog服务的隐藏潜力当大多数人提起Tftpd32/Tftpd64时&#xff0c;第一反应往往是它作为TFTP服务器的功能。这款轻量级工具确实在文件传输领域表现出色&#xff0c;但它的能力远不止于此。今天&#xff0c;我们将深入探索这款软件中两个…...

浏览器 Profile 环境排查:Cookie、LocalStorage、网络出口与自动化任务配置清单

一、为什么浏览器环境经常“今天能用&#xff0c;明天失效”很多团队遇到登录状态丢失、页面配置异常、自动化任务失败时&#xff0c;会先怀疑网络、脚本或系统本身。但在实际项目里&#xff0c;问题经常不是单点故障&#xff0c;而是浏览器环境缺少稳定管理&#xff1a;对象常…...

森优时铁锌维发根养黑用三个月真实效果实测:内服营养养黑的客观测评

"森优时铁锌维发根养黑用三个月真实效果实测显示&#xff0c;针对压力、熬夜引发的早白问题&#xff0c;通过内服补充毛囊所需营养的方式&#xff0c;多数使用者能感受到发根韧性提升、新生发色素沉淀改善&#xff0c;整体改善效果因人而异&#xff0c;合规的营养补充是目…...

MBTI性格测试

简介 MBTI&#xff08;Myers‑Briggs Type Indicator&#xff0c;迈尔斯‑布里格斯类型指标&#xff09;是基于荣格心理类型理论发展出的性格类型工具&#xff0c;由凯瑟琳库克布里格斯及其女儿伊莎贝尔布里格斯迈尔斯创建。它通过四对偏好维度将个体的认知与行为倾向归纳为 16…...

华硕笔记本终极性能控制指南:用G-Helper完全替代Armoury Crate

华硕笔记本终极性能控制指南&#xff1a;用G-Helper完全替代Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zen…...

美团外卖mtgsig与waimai_sign双层签名逆向解析

1. 这不是“爬虫教程”&#xff0c;而是一份反向工程现场笔记你搜到这篇内容&#xff0c;大概率正卡在某个调试窗口前&#xff1a;抓包看到mtgsig和waimai_sign两个参数像两堵墙&#xff0c;无论怎么改请求头、换UA、清缓存&#xff0c;返回永远是{"code":403,"…...

2026年一键生成论文工具对比实测:5款神器从选题到格式全流程护航

写论文的焦虑&#xff0c;是每个科研人和学生都心照不宣的“隐形压力”。选题无从下手&#xff0c;文献检索耗时费力&#xff0c;逻辑框架反复推翻&#xff0c;格式排版让人抓狂&#xff0c;查重降重更是像在和系统玩“猫鼠游戏”。2026年的AI工具早已不是过去那种“打字机”&a…...

LizzieYzy:你的智能围棋教练,让AI分析变得简单有趣 [特殊字符]

LizzieYzy&#xff1a;你的智能围棋教练&#xff0c;让AI分析变得简单有趣 &#x1f3af; 【免费下载链接】lizzieyzy LizzieYzy - GUI for Game of Go 项目地址: https://gitcode.com/gh_mirrors/li/lizzieyzy 还在为复盘找不到关键点而烦恼吗&#xff1f;想提升棋力却…...

圈复杂度>12=技术债炸弹?DeepSeek静态分析实战:从17.8→3.2的重构路径全披露

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;圈复杂度&#xff1e;12技术债炸弹&#xff1f;DeepSeek静态分析实战&#xff1a;从17.8→3.2的重构路径全披露 当函数圈复杂度&#xff08;Cyclomatic Complexity&#xff09;持续高于12&#xff0c;它不再是…...