欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python用20行代码实现完整邮件功能

程序员文章站 2022-06-25 09:34:16
目录python实现完整邮件2、打开 设置—pop3/smtp/imap配置界面python实现完整邮件先上效果:一、邮箱端设置首先,要对邮件进行一下设置,在邮箱端获取一个授权码。1、首先登录网页版1...

python实现完整邮件

先上效果:

Python用20行代码实现完整邮件功能

一、邮箱端设置

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

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

 Python用20行代码实现完整邮件功能

2、打开 设置—pop3/smtp/imap配置界面 

Python用20行代码实现完整邮件功能

3、新增一个授权码 

Python用20行代码实现完整邮件功能

二、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

以上就是python用20行代码实现完整邮件功能 的详细内容,更多关于python实现完整邮件的资料请关注其它相关文章!希望大家以后多多支持!

相关标签: Python 邮件