一、Zmail 是什么
Zmail或许是最简单的邮件收发库,开发网址为:
https://github.com/ZYunH/zmail
GITHUB中的Zmail
在上述github下载压缩包 zmail-master.zip 。说明文档在其中,见Readme.md和README-cn.md。其中介绍中说:
Zmail allows you to send and get emails as possible as it can be in python.
Zmail 允许你发送和接受邮件尽可能的简单。你不需要去检查你的服务器地址、端口以及自己构造MIME对象,使用Zmail,你只需要关注你的邮件内容即可。
Zmail还在开发进步中,基本功能已经不错了,有些功能仍不完善。
二、在Anaconda3中安装Zmail
(1)通过pip安装
pip install zmail
联网后,在Windows命令窗中执行及反馈信息:
(base) C:\Users\邵玉斌>pip install zmail
Collecting zmail
Downloading zmail-0.0.6-py3-none-any.whl
Installing collected packages: zmail
Successfully installed zmail-0.0.6
(2)离线安装
说明文档中是这样说的:(我没试过)
你可以下载Zmail的master分支,将其解压,切换到相应目录,然后执行
python setup.py install
三、实验:使用Zmail发送邮件
3.1 首先要为使用QQ邮箱发送更改配置
Zmail简化了邮件发送的配置方式,将常用邮箱pop和smtp的端口配置放在了如C:\ProgramData\Anaconda3\Lib\site-packages\zmail\info.py
文件中。其中内容是:
"""
zmail.info
~~~~~~~~~~~~
This module provide supported server information.
'Server_provider_address':{
'protocol':('protocol_server_address', port, ssl),
}
"""
supported_server = {
'163.com': {
'smtp': ('smtp.163.com', 994, True),
'pop3': ('pop.163.com', 995, True),
'imap': ('imap.163.com', 993, True)
},
'126.com': {
'smtp': ('smtp.126.com', 994, True),
'pop3': ('pop.126.com', 995, True),
'imap': ('imap.126.com', 993, True)
},
'yeah.net': {
'smtp': ('smtp.yeah.net', 994, True),
'pop3': ('pop.yeah.net', 995, True),
'imap': ('imap.yeah.net', 993, True)
},
'qq.com': {
'smtp': ('smtp.qq.com', 465, True),
'pop3': ('pop.qq.com', 995, True),
},
'gmail.com': {
'smtp': ('smtp.gmail.com', 587, False),
'pop3': ('pop.gmail.com', 995, True),
},
'sina.com': {
'smtp': ('smtp.sina.com', 465, True),
'pop3': ('pop.sina.com', 995, True),
},
'outlook.com': {
'smtp': ('smtp-mail.outlook.com', 587, False),
'pop3': ('pop.outlook.com', 995, True),
},
}
def get_supported_server_info(mail_address, protocol):
"""Use user address to get server address and port."""
provider = mail_address.split('@')[1]
if provider in supported_server:
server_info = supported_server[provider]
if protocol in server_info:
return server_info[protocol]
if protocol == 'smtp':
return 'smtp.' + provider, 465, True
elif protocol == 'pop3':
return 'pop3.' + provider, 995, True
如果用QQ邮箱帐号发送,请注意确认其中SMTP端口号要由默认的25改为465
'qq.com': {
'smtp': ('smtp.qq.com', 465, True),
'pop3': ('pop.qq.com', 995, True),
}
3.2 发送邮件
先要在QQ邮箱配置中允许使用客户端收发邮件。
然后编写发送简单邮件的Python代码
import zmail
mail_content ={
'subject': 'Success!',
'content': 'This message from zmail!',
}
server = zmail.server("这里填上邮箱XXXXXX@qq.com", "这里是密码XXXXXX")
server.send_mail(["这里填上接收邮箱YYYYY@qq.com"], mail_content)
执行:
python SendByZmail.py
结果在QQ邮箱中收到邮件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)