gpt4 book ai didi

python Zmail模块简介与使用示例

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python Zmail模块简介与使用示例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

介绍

Zmail 使得在python3中发送和接受邮件变得更简单。你不需要手动添加服务器地址、端口以及适合的协议,zmail会帮你完成。此外,使用一个python字典来代表邮件内容也更符合直觉 。

安装

Zmail仅支持python3,不需要任何外部依赖. 不支持python2. 。

?
1
pip3 install zmail

特性 

  • 自动寻找服务器地址以及端口
  • 自动使用可靠的链接协议
  • 自动将一个python字典映射成MIME对象(带有附件的)
  • 自动添加头文件以及localhostname来避免服务器拒收你的邮件
  • 轻松自定义你的头文件
  • 支持使用HTML作为邮件内容
  • 仅需python>=3.5,你可以将其嵌入你的项目而无需其他的依赖

使用须知

使用它之前,请保证 。

  • 使用Python3
  • 确保打开了邮箱的POP3和SMTP功能 (对于 @163.com 和 @gmail.com 你需要设置你的应用专用密码)

然后,剩下你需要做的就是import zmail即可 。

使用示例

发送你的邮件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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)

给多个信箱发件,修改发送邮件 即可,其他内容同上 。

?
1
2
3
# 发送邮件
 
server.send_mail([ '555555@qq.com' , '666666@qq.com' ],mail_content)

发送HTML作为邮件内容 。

?
1
2
3
4
5
6
mail = {
  'subject' : 'Success!' , # 邮件主题
  'content_html' : [ 'HTML CONTENT' ], # HTML格式的邮件内容
  'attachments' : '/Users/zyh/Documents/example.zip' , # 邮件附件
}
server.send_mail( 'yourfriend@example.com' ,mail)

或者 。

?
1
2
3
4
5
6
7
8
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的配置 。

?
1
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 )

取回你的邮件

  • 取得最新的邮件
?
1
2
3
import zmail
server = zmail.server( 'yourmail@example.com' , 'yourpassword' )
mail = server.get_latest()
  • 依据id取回邮件
?
1
mail = server.get_mail( 2 )
  • 依据 (subject,after,before,sender)取回一个列表的邮件
?
1
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

项目地址: 

GitHub:https://github.com/ZYunH/zmail 。

以上就是python Zmail模块简介与使用示例的详细内容,更多关于python Zmail模块的资料请关注我其它相关文章! 。

原文链接:https://www.cnblogs.com/zhouyxh/p/12320708.html 。

最后此篇关于python Zmail模块简介与使用示例的文章就讲到这里了,如果你想了解更多关于python Zmail模块简介与使用示例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com