Python用20行代码实现完整邮件功能 [完整代码+建议收藏]

Posted LexSaints

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python用20行代码实现完整邮件功能 [完整代码+建议收藏]相关的知识,希望对你有一定的参考价值。

大家好,我是Lex 喜欢欺负超人那个Lex

擅长领域:python开发、网络安全渗透、Windows域控Exchange架构

今日重点:python脚本实现发送邮件,邮件添加附件,读取接收邮件等功能。

包含完整脚本哦,【建议收藏】

 今天带大家实现一下,不登录邮箱界面

通过python代码实现发送邮件、添加附件、接收邮件的功能。

如下:使用网易126邮箱进行演示。

还可以添加小姐姐的可可爱爱的照片作为附件

先上效果

一、邮箱端设置

首先,要对邮件进行一下设置,在邮箱端获取一个授权码。

1、首先登录网页版126邮箱

2、打开 设置—POP3/SMTP/IMAP配置界面

 3、新增一个授权码

二、python发送邮件

1、安装邮件模块

pip install py-emails

2、调用模块

引入邮箱模块,配置收件人、发件人、授权码等信息

#引入smtplib模块
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
 
#配置邮箱信息
sender = 'pacersby@126.com' #发件人的地址
password = 'XXXXXXXXXXXX' #此处是我们刚刚在邮箱中获取的授权码
receivers = ['wangsicong@126.com', '1029925144@qq.com'] #邮件接受方邮箱地址,可以配置多个,实现群发
 

3、设置邮件内容

#邮件内容设置
message = MIMEText('你好呀,王思聪~~~','plain','utf-8')
#邮件标题设置      

message['Subject'] = '来自CSDN的问候' 

#发件人信息
message['From'] = sender

#收件人信息     
message['To'] = receivers[0]  
 
#通过授权码,登录邮箱,并发送邮件
try:
    server = smtplib.SMTP('smtp.126.com') #配置126邮箱的smtp服务器地址
    server.login(sender,password)
    server.sendmail(sender, receivers, message.as_string())
    print('发送成功')
    server.quit()
 
except smtplib.SMTPException as e:
    print('error',e) 

4、添加附件

另外,我们发送邮件时,经常需要添加各式各样的附件。python同样可以实现。

如下,我们可以通过代码添加图片、pdf、zip等等格式的附件。

#添加图片附件
imageFile = 'C:\\\\Users\\\\pacer\\\\Desktop\\\\img\\\\1.png'
imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1])
imageApart.add_header('Content-Disposition', 'attachment', filename=imageFile)

#添加pdf附件
pdfFile = 'C:\\\\Users\\\\pacer\\\\Desktop\\\\img\\\\1.pdf'
pdfApart = MIMEApplication(open(pdfFile, 'rb').read())
pdfApart.add_header('Content-Disposition', 'attachment', filename=pdfFile)

#添加压缩文件附件
zipFile = 'C:\\\\Users\\\\pacer\\\\Desktop\\\\img\\\\1.zip'
zipApart = MIMEApplication(open(zipFile, 'rb').read())
zipApart.add_header('Content-Disposition', 'attachment', filename=zipFile)

三、python读取邮件

通过我们设置的授权码,登录邮箱账号,获取该账号收到的邮件内容。

首先安装zmail模块

pip install zmail

 读取邮件

server = zmail.server('pacersby@126.com','授权码')
mail = server.get_latest()
zmail.show(mail)

获取邮件效果如下:

-------------------------
Subject  来自lex的python自动发送邮件
Id  4
From  pacersby@126.com
To  None
Date  2021-07-15 10:18:39+08:00
Content_text  ['来自lex的python自动发送邮件']
Content_html  []
Attachments  
1.Name:C:\\\\Users\\\\lex\\\\Desktop\\\\img\\\\1.jpg Size:205133 
2.Name:C:\\\\Users\\\\lex\\\\Desktop\\\\img\\\\1.pdf Size:434938 
3.Name:C:\\\\Users\\\\lex\\\\Desktop\\\\img\\\\1.zip Size:1201666

完整脚本下载:

https://download.csdn.net/download/weixin_42350212/20298668

推荐阅读

优质资源

python实战

【pygame开发实战开发30例 完整源码】

【pygame游戏开发专栏,获取完整源码+教程】

CSDN官方学习推荐 ↓ ↓ ↓

  • CSDN出的Python全栈知识图谱,太强了,推荐给大家!

以上是关于Python用20行代码实现完整邮件功能 [完整代码+建议收藏]的主要内容,如果未能解决你的问题,请参考以下文章

如何读取照片的GPS信息?—最好的语言Java实现起来就这么简单手把手教程+完整代码

分布式监控系统Zabbix-3.0.3-完整安装记录

最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件

最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件 建议收藏

大咖20行Python代码玩转算法!涉及到算法就觉得很难?颠覆认知!

ZZNUOJ_用C语言编写程序实现1190:查询记录(结构体专题)(附完整源码)