Python史上最简单5行代码群发邮件Zmail模块

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)

 

关注我吧!!!

 

 

  • 13
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王大力测试进阶之路

打赏博主喝瓶水吧!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值