Zmail模块怎么在python项目中使用 ?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
创新互联公司长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为同德企业提供专业的成都网站制作、成都网站设计、外贸营销网站建设,同德网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。Zmail 使得在python3中发送和接受邮件变得更简单。你不需要手动添加服务器地址、端口以及适合的协议,zmail会帮你完成。此外,使用一个python字典来代表邮件内容也更符合直觉
安装
Zmail仅支持python3,不需要任何外部依赖. 不支持python2.
pip3 install zmail
特性
自动寻找服务器地址以及端口
自动使用可靠的链接协议
自动将一个python字典映射成MIME对象(带有附件的)
自动添加头文件以及localhostname来避免服务器拒收你的邮件
轻松自定义你的头文件
支持使用HTML作为邮件内容
仅需python>=3.5,你可以将其嵌入你的项目而无需其他的依赖
使用须知
使用它之前,请保证
使用Python3
确保打开了邮箱的POP3和SMTP功能 (对于 @163.com 和 @gmail.com 你需要设置你的应用专用密码)
然后,剩下你需要做的就是import zmail即可
使用示例
发送你的邮件
import zmail # 你的邮件内容 mail_content = { "subject":"success!", # 邮件主题 "content_text":"This message from zmail", # 邮件内容 "attachments":r"D:\test.docx", # 邮件附件 } # 使用你的邮件账户名和密码登录服务器 server = zmail.server("XXXXXX@163.com", "XXXXXX") # 发送邮件 server.send_mail('yourfriend@example.com', mail_content)
给多个信箱发件,修改发送邮件 即可,其他内容同上
# 发送邮件 server.send_mail(['555555@qq.com','666666@qq.com'],mail_content)
发送HTML作为邮件内容
mail = { 'subject': 'Success!', # 邮件主题 'content_html': ['HTML CONTENT'], # HTML格式的邮件内容 'attachments': '/Users/zyh/Documents/example.zip', # 邮件附件 } server.send_mail('yourfriend@example.com',mail)
或者
with open('/Users/example.html','r') as f: content_html = f.read() mail = { 'subject': 'Success!', 'content_html': content_html, 'attachments': '/Users/zyh/Documents/example.zip', } server.send_mail('yourfriend@example.com',mail)
自定义你的server
如果zmail不能正常工作,你可以自定义server的配置
server = zmail.server('username','password',smtp_host='smtp.163.com',smtp_port=994,smtp_ssl=True,pop_host='pop.163.com',pop_port=995,pop_tls=True)
取回你的邮件
取得新的邮件
import zmail server = zmail.server('yourmail@example.com', 'yourpassword') mail = server.get_latest()
依据id取回邮件
mail = server.get_mail(2)
依据 (subject,after,before,sender)取回一个列表的邮件
mail = server.get_mails(subject='163',after='2018-1-1',sender='github')
示例中, 如果 '163' 在邮件的主题中,这封邮件将会被匹配, 例如' [163] Your password has changed'
邮件的结构
content-type: 邮件内容的类型
subject: 邮件主题
to:收件人
from:寄件人
date: 年-月-日 时间 时区
boundary: 如果邮件为multiple - - - parts,你可以得到其分界线
content: 邮件的文本内容(仅在text/plain时可以被解析)
contents: 邮件的body,里面包含着由分界线分割的每一个段落
attachments: None 或者 [['附件名称;编码方式','附件的二进制内容']...]
id: 在邮箱中的id
关于Zmail模块怎么在python项目中使用 问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
网页名称:Zmail模块怎么在python项目中使用-创新互联
文章地址:http://lswzjz.com/article/dcodcj.html