Python发邮件告别smtplib,迎接zmail

2019-08-01 11:22:46 浏览数 (3)

之前介绍过smtplib发邮件代码,直到今天仍有人在这里遇到问题。而且代码复杂,解释起来很麻烦,今天给大家介绍一个新的发邮件方法——zmail

zmail的优势

  • 自动填充头信息
  • 将一个字典映射为email,构造邮件相当于构造字典
  • 自动寻找邮件服务商端口号地址、自动选择协议
  • 只依赖Python3 哪里可以用到zmail
  • 发送、接收邮件
  • 自定义邮件发送过程 1、安装zmail

cmd中pip install zmail 或者 pycharm中在interpreter中搜索下载

2、发送邮件

我们用QQ邮箱来试验一下

发送文字邮件代码:
代码语言:javascript复制
# coding: utf-8

import zmail

MAIL = {

    'subject': '使用Zmail发的邮件',

    'content_text': '欢迎大家加入 测试家园小程序,和测试大牛交流技术',
}

server = zmail.server("your_mail@163.com", "你的163授权密码")

server.send_mail("312652826@qq.com", MAIL)

收到的邮件:

注意:这里发的是文字邮件,所以MAIL构造的时候要写content_text,船长试过只写content,发现收到邮件是空的。还有就是字典最后一个值最后是有“,”的。 刚才说过了,使用zmail的好处就是不需要输入服务商地址、端口号等,就是你不再需要输入smtp.163.com, 25等。

上面三行代码,就实现了发送文字邮件的功能了。

发送带附件邮件代码

只需要加上一个attachments键值即可

代码语言:javascript复制
# coding: utf-8

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)

收到的邮件:

是不是超级简单呢,以上代码船长亲测有效。大家有空可以试一下,代码拿过去就可以用。

0 人点赞