使用Python来发送电子邮件(手把手教学)

一、首先得准备两个邮箱

        1、接收邮箱地址随意(可以再添加一个QQ邮箱做接收用),

        2、重点是发送邮箱,发送邮箱这里使用的是QQ邮箱:

① 打开一个web,登录QQ邮箱:

右上角:

②安全设置-->生成授权码

③这里如果没开启的可以把它开启,然后生成授权码,自己悄悄藏好

二、上代码直接CV:

import smtplib
from email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMEText
def send_worning(info):#定义发件人和收件人sender='这里就是申请授权码使用的邮箱'receiver='这里是接收者的邮箱'password='这里就是喊你藏好的授权码'# 构建邮件的主体对象msg = MIMEMultipart()msg['Subject'] = '这个是邮件的标题'msg['From'] = sendermsg['To'] = receiver#信的内容部分body = f'''<div style='font-size: 18px; color: black;'>内容1:会前端的自己可以换就那样<br/></div><div style='font-size:18px; color: red;'>内容2:加了个红色<br/>代码里br是换行用的。这里加个变量,方便你随便加东西——{info}</div>'''content = MIMEText(body, 'html', 'utf-8')#正文-信件内容msg.attach(content)#打包#建立连接与服务器得连接并发送邮件smtpObj = smtplib.SMTP_SSL('smtp.qq.com', 465)  #如果基于SSL,则smtplib.SMTP_SSLsmtpObj.login(user=sender, password=password)smtpObj.sendmail(sender, receiver, str(msg))smtpObj.quit()send_worning('看了不点赞,勾勾短5厘米')

手机QQ邮箱查看运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/518498.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何恢复edge的自动翻译功能

介绍&#xff1a;对于英文不好的小伙伴&#xff0c;把英语翻译成中文是有帮助的&#xff0c;而edge可以直接对英文页面翻译这一功能更是受人喜爱&#xff0c;但是&#xff0c;最近发现这一项功能消失了。 原始界面&#xff1a; 下面展示如何恢复该功能。 1.打开edge&#xff…

JavaScript实现遍历精灵图的效果

问题描述&#xff1a;通过JavaScript将精灵图里面的小图标给遍历出来。 关键代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width…

安全测试:抵御现代网络威胁的盾牌!

什么是安全测试 安全测试是软件测试的一个重要方面&#xff0c;专注于识别和解决软件应用程序中的安全漏洞。它旨在确保软件免受恶意攻击&#xff0c;未经授权的访问和数据泄露。 安全测试的目的 安全测试涉及核实软件是否符合安全标准&#xff0c;评估安全功能和机制&#…

【b站咸虾米】ES6 Promise的用法,ES7 async/await异步处理同步化,异步处理进化史

课程地址&#xff1a;【ES6 Promise的用法&#xff0c;ES7 async/await异步处理同步化&#xff0c;异步处理进化史】 https://www.bilibili.com/video/BV1XW4y1v7Md/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 图文地址&#xff1a;https://www.b…

Selenium自动化测试-3.元素定位(2)

我们发现网站并没有id、name等属性。那么&#xff0c;我们可以用更高级的定位方法——xpath来定位元素。 什么是xpath? xpath是一种在XML文档中定位元素的语言。因为HTML可以看做XML的一种实现&#xff0c;所以selenium用户可以使用这种强大语言在web应用中定位元素&#xf…

基于单片机的智能空调设计

目 录 摘 要 I Abstract II 引 言 1 1 系统整体设计 3 1.1 系统方案设计 3 1.2 系统工作原理 3 2 硬件设计 5 2.1 电源模块设计 5 2.1.1 电源模块选择 5 2.1.2 电源模块电路设计 5 2.2 单片机模块设计 5 2.2.1 单片机型号选择 5 2.2.2 单片机模块电路设计 6 2.3 按键模块设计 …

高质量的外贸开发信标题都是怎样的?

今天在网上看到很多不错的开发信标题&#xff0c;觉得不错&#xff0c;收藏起来分享给大家学习。 标题是吸引读者打开邮件的第一印象&#xff0c;对于外贸销售人员来说&#xff0c;精心撰写开发信标题至关重要。客户收到的邮件那么多&#xff0c;那么在客户收件箱中的5至20个客…

每日一题——LeetCode1592.重新排列单词间的空格

方法一 个人方法 模拟&#xff1a; 把text字符串用空格符分隔成数组&#xff0c;数组长度-1就是原字符串中空格的数量&#xff0c;将数组中的单词都提取到words数组中&#xff0c;有了空格数量和单词数量就能计算出相邻单词间需要的空格数量&#xff0c;维护一个空字符串str&a…

#14vue3生成表单并跳转到外部地址的方式

1、背景 后端返回的json数据中包含一个json数组&#xff0c;此数组中是目标跳转地址所需要的form表单的数据。 2、跳转前的页面 const goto () > {finish.value true;request.post(/xxx/yyy,{zzz: zzz.value}).then(res > {const url res.data.submitUrlconst params…

雷赛控制卡的扩展IO连接

雷赛控制卡的扩展IO点无法控制问题处理 现象 因设备的上IO点较多&#xff0c;所以使用了多个雷赛32点位的IO扩展卡。上位机程序在控制输出IO时发现主模块IO和第一个扩展IO的输出可以控制。但第二个IO扩展卡和第三个IO扩展卡的输出控制不了。经排查出发现轴卡在初始化时只连接了…

C++椭圆检测论文复现 Ubuntu 22.04+Vscode+opencv3.4

复现的代码 本博客旨在复现论文《An Efficient High-quality Ellipse Detection》&#xff0c;该文章本来只有Matlab的代码实现&#xff0c;后来被islands翻译成了c 库&#xff0c;大家可以参考islands发在知乎上的文章高质量椭圆检测库&#xff0c;C的代码链接。 使用环境 U…

请说明Vue中的Error Boundaries

当我们开发基于Vue框架的应用时&#xff0c;我们经常会遇到各种错误处理的情况。Vue提供了一种非常强大且简单的方式来处理这些错误&#xff0c;那就是Error Boundaries&#xff08;错误边界&#xff09;。本文将从概念、用法和示例代码三个方面来详细介绍Vue中的Error Boundar…