美文网首页
zmail发送和接收邮件

zmail发送和接收邮件

作者: moxiaoxiao | 来源:发表于2018-11-26 20:23 被阅读41次

背景:最近学习使用python来发送和接收邮件。查阅网上其他资料,各种复杂。后面发现有zmail使用起来特简洁。但是网上zmail对接收邮件部分描述不清,特此记录下

安装zmail

pip3 install zmail

Zmail仅支持python3,不需要任何外部依赖. 不支持python2.
参考链接:https://github.com/ZYunH/zmail/blob/master/README-cn.md

zmail发送邮件

发送邮箱代码

import zmail
subjiec = "测试zmail发送邮件"
content = "这是通过zmail发送来的邮件"
mail = {
    'subject':subjiec,
    'content_text':content,
 }
#发送者邮箱
#发送者的邮箱
sender = '1xxxxxxx5@qq.com'
#发送者的邮箱授权码
sender_password = 'wxxxxxxxgd'
server = zmail.server(sender,sender_password)

#接收者邮箱
receiver = '1xxxxxxxxxxx3@qq.com'
#开始发送邮件
server.send_mail(receiver,mail)

print('发送成功!')

import zmail
subjiec = "测试zmail发送邮件"
content = "这是通过zmail发送来的邮件"
mail = {
    'subject':subjiec,
    'content_text':content,
}
#发送者邮箱
#发送者的邮箱
sender = '1xxxxxxx5@qq.com'
#发送者的邮箱授权码
sender_password = 'wxxxxxxxgd'
server = zmail.server(sender,sender_password)

#接收者邮箱
receiver = '1xxxxxxxxxxx3@qq.com'
#开始发送邮件
server.send_mail(receiver,mail)

print('发送成功!')

发送成功后接收到的邮件如下图所示


image.png

zmail接收最新的一封邮件

先附上代码:


import zmail

sender = '1097630005@qq.com'
sender_password = 'wqujvltvawyphfgd'

server = zmail.server(sender, sender_password)

#server.get_latest()是获取收件箱中最新的一封
mail = server.get_latest()
for k,v in mail.items():
    print(k,v)

通过中断打印出来,信息如下。请关注箭头出的字段。后面我们在


image.png

现在我们需要将我们邮件的内容打印出来,见代码:

import zmail

sender = '1xxxxxxxxx5@qq.com'
sender_password = 'wxxxxxxxxxxxxxxxxxxd'

server = zmail.server(sender, sender_password)

#server.get_latest()是获取收件箱中最新的一封
mail = server.get_latest()
#打印出邮件:
print(mail['subject'])
print(mail['content_text'][0])

执行结果如下:

image.png

zmail接收所有邮件

import zmail

sender = '1xxxxxxxxxx5@qq.com'
sender_password = 'wxxxxxxxxxxxxxxxd'

server = zmail.server(sender, sender_password)

#所取所有邮件,返回一个邮件列表
mails = server.get_mails()

for mail in mails:
    print("当前ID为:",mail['id'])
    print("邮件主题为:",mail['subject'])
    print("邮件内容为:",mail['content_text'][0])

执行结果为:


image.png

zmail相关函数使用说明

  • server.get_latest():获取邮箱中最新的一封邮件

  • c :根据ID取回邮件。邮件中最新的一份邮件ID最大。id的最小值为1

  • server.stat():获取邮箱的信息,返回的结果是包含两个整型的元祖:(邮件的数量,邮件的大小)

  • zmail.show(mail):打印邮件

  • 查看邮件的所有内容:
    import zmail
    server = zmail.server('yourmail@example.com’, 'yourpassword')
    mail = server.get_latest()
    for k,v in mail.items():
    print(k,v)

  • server.get_mails()返回有一个邮件列表

相关文章

网友评论

      本文标题:zmail发送和接收邮件

      本文链接:https://www.haomeiwen.com/subject/ijjiqqtx.html