zmail简介
Zmail 允许你发送和接受邮件尽可能的简单。你不需要去检查你的服务器地址、端口以及自己构造MIME对象,使用Zmail,你只需要关注你的邮件内容即可。Zmail只在python3中运行,不需要第三方模块。不支持python2
Zmail的优势
- 自动填充大多数导致服务端拒信的头信息(From To LocalHost之类的)
- 将一个字典映射为email,构造信件就像构造字典一样简单
- 自动寻找邮件服务商端口号地址,自动选择合适的协议(经过认证的)
- 只依赖于python3,嵌入其他项目时无需烦恼
安装
pip install zmail
开启POP3/SMTP服务
本次使用qq邮箱发送邮件,前提是需要打开qq邮箱的pop3/smtp功能:
登录邮箱——设置——账户——POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
开启POP3/SMTP服务,会先要求QQ号申请第二代密码保护,然后才能进行下一步,如果成功后,会生成一个授密码权
注意:一定要记住这个授权码,凡是需要用到qq邮箱涉及代码的情况下,大多会用到此授权码,如果忘记重新再次生成
发送邮件
smtp_host:smtp.qq.com腾讯发送邮箱的smtp服务地址,多个收件人的话,接收者可以用list
smtp_port:465腾讯发送邮箱的端口
mail 发件的内容,包含主题、正文、附件等
server 发送邮件人的相关信息,如账号,密码,smtp_host, smtp_port
receiver 接收者的邮箱地址
content_html 发送正文为html
content_text 发送正文
attachments带附件
server.send_mail([ ' yourfriend@example.com ',' 12345 @ example.com ' ],mail)收件人列表
server.send_mail([('Boss','yourfriend@example.com'),'12345@example.com'], mail) 收件人列表,带收件人名字
server.send_mail(['foo@163.com','foo@126.com'],mail,cc=['bar@163.com'])收件人列表,使用抄送
server.send_mail(['foo@163.com','foo@126.com'],mail,cc=[('Boss','bar@163.com'),'bar@126.com'])收件人列表,使用抄送带名字
代码如下:import zmail,os,base64
report_url=os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))),r'reports\result.html')
report_pic_url=os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))),r'reports\result.jpg')
#读取html报告
with open(report_url,'r',encoding='utf-8') as f:report_html=f.read()
#邮件内容和附件
mail={'subject':'邮件主题','content_text':'邮件内容','content_html':report_html,'attachments':[report_url,report_pic_url]}
#发送人邮件信息
server=zmail.server('20173535@qq.com','yzfbrgil',smtp_host='smtp.qq.com',smtp_port=465)
#发送至收件人和抄送人
server.send_mail(['wangl@xinrenlei.net','61954991@qq.com'],mail,cc=['20173535@qq.com'])
邮件内容
常用邮箱SMTP服务器地址大全
阿里云邮箱(mail.aliyun.com):
POP3服务器地址:pop3.aliyun.com(SSL加密端口:995;非加密端口:110)
SMTP服务器地址:smtp.aliyun.com(SSL加密端口:465;非加密端口:25)
IMAP服务器地址:imap.aliyun.com(SSL加密端口:993;非加密端口:143)
谷歌邮箱(google.com):
POP3服务器地址:pop.gmail.com(SSL启用端口:995)
SMTP服务器地址:smtp.gmail.com(SSL启用端口:587)
新浪邮箱(sina.com):
POP3服务器地址:pop3.sina.com.cn(端口:110)
SMTP服务器地址:smtp.sina.com.cn(端口:25)
Tom邮箱(top.com):
POP3服务器地址:pop.tom.com(端口:110)
SMTP服务器地址:smtp.tom.com(端口:25)
网易邮箱(163.com):
POP3服务器地址:pop.163.com(端口:110)
SMTP服务器地址:smtp.163.com(端口:25)
126邮箱:
POP3服务器地址:pop.live.com(端口:995)
SMTP服务器地址:smtp.126.com(端口:25)
雅虎邮箱(yahoo.com):
POP3服务器地址:pop.mail.yahoo.com
SMTP服务器地址:smtp.mail.yahoo.com
雅虎中国(yahoo.com.cn):
POP3服务器地址:pop.mail.yahoo.com.cn(端口:995)
SMTP服务器地址:smtp.mail.yahoo.com.cn(端口:587)
雅虎邮箱POP3的SSL不启用端口为110,POP3的SSL启用端口995;SMTP的SSL不启用端口为25,SMTP的SSL启用端口为465。
Foxmail邮箱(foxmail.com):
POP3服务器地址:POP.foxmail.com(端口:110)
SMTP服务器地址:SMTP.foxmail.com(端口:25)
QQ邮箱(mail.qq.com)
POP3服务器地址:pop.qq.com(端口:110)
SMTP服务器地址:smtp.qq.com(端口:25)
SMTP服务器需要身份验证。
搜狐邮箱(sohu.com):
POP3服务器地址:pop3.sohu.com(端口:110)
SMTP服务器地址:smtp.sohu.com(端口:25)
HotMail邮箱(hotmail.com):
POP3服务器地址:pop.live.com(端口:995)
SMTP服务器地址:smtp.live.com(端口:587
移动139邮箱:
POP3服务器地址:POP.139.com(端口:110)
SMTP服务器地址:SMTP.139.com(端口:25)
中华网邮箱(china.com):
POP3服务器地址:pop.china.com(端口:110)
SMTP服务器地址:smtp.china.com(端口:25)
关注我吧!!!