smtplib发邮件代码复杂,直到今天仍有人在这里遇到问题。而且代码复杂,解释起来很麻烦,今天给大家介绍一个新的发邮件方法——zmail
zmail的优势
自动填充头信息
将一个字典映射为email,构造邮件相当于构造字典
自动寻找邮件服务商端口号地址、自动选择协议
只依赖Python3
哪里可以用到zmail
发送、接收邮件
自定义邮件发送过程
1、安装zmail
cmd中pip install zmail 或者 pycharm中在interpreter中搜索下载
2、发送邮件
我们用QQ邮箱来试验一下
发送文字邮件代码:
import zmail
MAIL = {
'subject': '使用Zmail发的邮件',
'content_text': '欢迎大家加入',
}
server = zmail.server("your_mail@163.com", "你的163授权密码")
server.send_mail("123456789@qq.com", MAIL)
收到的邮件:
注意:这里发的是文字邮件,所以MAIL构造的时候要写content_text,船长试过只写content,发现收到邮件是空的。还有就是字典最后一个值最后是有“,”的。
刚才说过了,使用zmail的好处就是不需要输入服务商地址、端口号等,就是你不再需要输入smtp.163.com, 25等。
上面三行代码,就实现了发送文字邮件的功能了。
发送带附件邮件代码
只需要加上一个attachments键值即可
import zmail
MAIL = {
'subject': '使用Zmail发的邮件',
'content_text': '欢迎大家加入',
'attachments': ['/Users/macbook/Desktop/favicon.jpeg', '/Users/macbook/Desktop/meirenjiao.jpg'],
}
server = zmail.server("your_mail@163.com", "你的163授权密码")
server.send_mail("312652826@qq.com", MAIL)
收到的邮件