Python还能发邮件?提高工作效率少不了(收藏)

2023-11-01 22:10

本文主要是介绍Python还能发邮件?提高工作效率少不了(收藏),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Python真是万能语言啊,还能发邮件。。。我也是最近刚知道!那么问题来了,用Python发邮件有什么用啊?

1.可以和爬虫代码结合一下、譬如查12306、查携程机票时可以设置查询到自动发邮件提醒

2.程序猿们可以利用Python发邮件监控程序的运行,譬如有bug报错了,赶紧发个邮件提醒你,回来公司加班!

3.搜集网上行业信息的,搜集到一堆邮箱,可以群发啊,做广告啊~(当然这样不太好)

4.譬如我可以写一个暖心的小程序,让Python自动在恶劣天气,提醒亲朋好友注意加衣服,在生日时发送生日祝福。。。。。。

果然Python大法好啊~


本次,我们发邮件用到的Python库是smtplib和email。简单来说,smtplib库主要是用于负责和邮件服务器进行通讯,email库则主要用于规定编写邮件的头、主体、内容、附件等。

这里多说一句,小编是一名python开发工程师,这里有我自己整理的一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编即可领取。

发邮件之前我们需要用Python登录smtp服务器,这样才能有发送权限,所以,我们需要去邮箱手动开启smtp服务,然后记住服务器授权码(授权码意思是,你可以不用我的网页邮箱或者邮箱app登录,你可以用邮箱账号+授权码在后台来获取邮箱服务器的内容)

 

 

由于本次我们用QQ邮箱发送,你也可以用网易邮箱或者其他邮箱发送,原理都是类似~

 

如何开启QQ邮箱smtp服务器和获取授权码:��


很多场合都会用到邮箱授权码进行邮件的收取,现在讲一下如何QQ邮箱的授权码获取方式,网易邮箱的也差不多哦~

工具/原料

  • 电脑版的QQ邮箱

方法/步骤

登录电脑版QQ邮箱,选择最上方的“设置”。

 

 

如图选择“账户”,切换到账户详情页面。

 

 

在账户页面往下拉,可以看到pop3设置,选择“开启”。

 

 

按照弹出的窗口提示操作进行密保验证。有多种方式可以验证,比如手机令牌等。推荐使用短信验证。

 

 

按照短信验证的提示发送短信。发送成功后直接点击“我已发送”。

 

 

弹出的提示中直接显示16位的授权码,可以复制下来,或者是记下来,千万不要记错了。然后点击“确定”。

 

 

下方的收取选项一般是默认30天的,点击下拉箭头,选择“全部”,并点击页面最下方的保存更改。千万别忘了点击保存,不然之前做的都白费了!

 

 

最后就是到需要授权码的那些地方输入刚获得的16位授权码就可以了。

END

注意事项

  • 操作完别忘了保存。

  • 授权码不要记错了。

  • 收取选项改为“全部”,不然无法导入所有的邮件。


获取好服务器授权码后,我们就可以写代码了,本次发送一个简单的文字邮件,然后添加一张可爱猪的图片作为附件:

 

 

程序运行过程:

程序运行结果:

 

 

代码如下:

 
 

import smtplib from email import encoders from email.mime.text import MIMEText from email.mime.base import MIMEBase from email.mime.multipart import MIMEMultipart #sender是邮件发送人邮箱,passWord是服务器授权码,mail_host是服务器地址(这里是QQsmtp服务器) sender = 'xxxxxxx@qq.com'# passWord = 'xxx' mail_host = 'smtp.qq.com' #receivers是邮件接收人,用列表保存,可以添加多个 receivers = ['aaa@qq.com','bbb@163.com'] #设置email信息 msg = MIMEMultipart() #邮件主题 msg['Subject'] = input(f"{'请输入邮件主题:'}") #发送方信息 msg['From'] = sender #邮件正文是MIMEText: msg_content = input(f"{'请输入邮件主内容:'}") msg.attach(MIMEText(msg_content, 'plain', 'utf-8')) # 添加附件就是加上一个MIMEBase,从本地读取一个图片: with open('/Users/xxx/1.jpg', 'rb') as f: # 设置附件的MIME和文件名,这里是jpg类型,可以换png或其他类型: mime = MIMEBase('image', 'jpg', filename='Lyon.png') # 加上必要的头信息: mime.add_header('Content-Disposition', 'attachment', filename='Lyon.png') mime.add_header('Content-ID', '<0>') mime.add_header('X-Attachment-Id', '0') # 把附件的内容读进来: mime.set_payload(f.read()) # 用Base64编码: encoders.encode_base64(mime) # 添加到MIMEMultipart: msg.attach(mime) #登录并发送邮件 try: #QQsmtp服务器的端口号为465或587 s = smtplib.SMTP_SSL("smtp.qq.com", 465) s.set_debuglevel(1) s.login(sender,passWord) #给receivers列表中的联系人逐个发送邮件 for i in range(len(receivers)): to = receivers[i] msg['To'] = to s.sendmail(sender,to,msg.as_string()) print('Success!') s.quit() print ("All emails have been sent over!") except smtplib.SMTPException as e: print ("Falied,%s",e)

  • Python

 

本文章素材来源于网络,如有侵权请联系删除。

这篇关于Python还能发邮件?提高工作效率少不了(收藏)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/326090

相关文章

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

浅析Python中的绝对导入与相对导入

《浅析Python中的绝对导入与相对导入》这篇文章主要为大家详细介绍了Python中的绝对导入与相对导入的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1 Imports快速介绍2 import语句的语法2.1 基本使用2.2 导入声明的样式3 绝对import和相对i

Python中配置文件的全面解析与使用

《Python中配置文件的全面解析与使用》在Python开发中,配置文件扮演着举足轻重的角色,它们允许开发者在不修改代码的情况下调整应用程序的行为,下面我们就来看看常见Python配置文件格式的使用吧... 目录一、INI配置文件二、YAML配置文件三、jsON配置文件四、TOML配置文件五、XML配置文件

Python中conda虚拟环境创建及使用小结

《Python中conda虚拟环境创建及使用小结》本文主要介绍了Python中conda虚拟环境创建及使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录0.前言1.Miniconda安装2.conda本地基本操作3.创建conda虚拟环境4.激活c

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3

Python进行PDF文件拆分的示例详解

《Python进行PDF文件拆分的示例详解》在日常生活中,我们常常会遇到大型的PDF文件,难以发送,将PDF拆分成多个小文件是一个实用的解决方案,下面我们就来看看如何使用Python实现PDF文件拆分... 目录使用工具将PDF按页数拆分将PDF的每一页拆分为单独的文件将PDF按指定页数拆分根据页码范围拆分

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应