前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python笔记38-使用zmail发各种邮件案例代码

python笔记38-使用zmail发各种邮件案例代码

作者头像
上海-悠悠
发布2019-07-04 14:56:51
9560
发布2019-07-04 14:56:51
举报

前言

本篇介绍使用zmail发各种格式的邮件,并运行成功的代码,小伙伴们只需更换自己的邮箱就可以运行起来了

content_text发送纯文本

先从最简单的发送纯文本的邮件开始,调通发送邮件的代码。 以腾讯的企业邮箱为例,smtp_host是发送邮箱的smtp服务地址,不同的邮箱不太一样。

  • smtp_host:smtp.exmail.qq.com
  • smtp_port:465
代码语言:javascript
复制
import zmail

'''
作者:上海-悠悠
QQ交流群:717225969
'''
mail = {
    'subject': '邮件主题:Success!',  # Anything you want.
    'content_text': '邮件正文内容:This message from zmail! QQ交流群:717225969 ',  # Anything you want.
}

server = zmail.server('yourname@xxxx.com',
                      'yourpassword',
                      smtp_host="smtp.exmail.qq.com",
                      smtp_port=465)
server.send_mail('2833404xx@qq.com', mail)  # 接收着

从上面代码看出,发送邮件的代码也就2句,我们只需关注三个参数

  • mail 发件的内容,包含主题、正文、附件等
  • server 发送邮件人的相关信息,如账号,密码,smtp_host, smtp_port
  • receiver 接收者的邮箱地址

content_html发送html正文

如果发送的正文是html格式的,那就用content_html参数,注意content_text和content_html只能二选一 平常生成的html测试报告,需要发送到邮箱,可以用open函数去读取html正文内容

代码语言:javascript
复制
import zmail

'''
作者:上海-悠悠
QQ交流群:717225969
'''

# html报告地址D:\\aaaa\\result.html

with open('D:\\aaaa\\result.html', 'r', encoding="utf-8") as f:
    content_html = f.read()

mail = {
    'subject': '邮件主题:Success!',  # Anything you want.
    # 'content_text': '邮件正文内容:This message from zmail! QQ交流群:717225969 ',  # Anything you want.
    'content_html': content_html
}

server = zmail.server('yourname@xxxx.com',
                      'yourpassword',
                      smtp_host="smtp.exmail.qq.com",
                      smtp_port=465)
server.send_mail('283340479@qq.com', mail)

也可以自己写html正文内容

代码语言:javascript
复制
content_html = '''
<h1>这是一级标题</h1>
<h2>这是二级标题</h2>
<h3>这是三级标题</h3>
<p>这段是有个段落,可以写很多你要写的内容</p>
<a href="https://www.cnblogs.com/yoyoketang/">点我,可以跳转到我的博客</a>
'''

mail = {
    'subject': '邮件主题:Success!',  # Anything you want.
    # 'content_text': '邮件正文内容:This message from zmail! QQ交流群:717225969 ',  # Anything you want.
    'content_html': content_html,
    'attachments': ['/Users/zyh/Documents/example.zip','/root/1.jpg'],  # Absolute path will be better.
}

attachments带附件

把report.html的报告同时放到附件去发送,使用attachments参数,只需传附件的绝对路径就可以了. 传多个附件,放到list里

代码语言:javascript
复制
import zmail

# html报告地址D:\\aaaa\\result.html
with open('D:\\aaaa\\result.html', 'r', encoding="utf-8") as f:
    content_html = f.read()

mail = {
    'subject': '邮件主题:Success!',  # Anything you want.
    # 'content_text': '邮件正文内容:This message from zmail! QQ交流群:717225969 ',  # Anything you want.
    'content_html': content_html,
    'attachments': ['D:\\aaaa\\result.html','D:\\122.png'],  # Absolute path will be better.
}

server = zmail.server('yourname@xxxx.com',
                      'yourpassword',
                      smtp_host="smtp.exmail.qq.com",
                      smtp_port=465)
server.send_mail('2833404xx@qq.com', mail)

正文带图片

正文,如果想发送一个图片,只需知道图片的url地址就可以了,如下个

代码语言:javascript
复制
<img src="https://x.xxx.com/xxx.png" width="650" height="340">'

如果是本地的图片,可以转base64后放到img标签,格式

代码语言:javascript
复制
<img src=“data:image/png;base64,*********************"/>

参考代码

代码语言:javascript
复制
content_html='''
<p>这是一张图片</p>
<img src="https://img2018.cnblogs.com/blog/1070438/201906/1070438-20190622235030004-1865146937.png" alt="yoyo png" width="650" height="340">
'''

mail = {
    'subject': '邮件主题:Success!',  # Anything you want.
    # 'content_text': '邮件正文内容:This message from zmail! QQ交流群:717225969 ',  # Anything you want.
    'content_html': content_html,
    'attachments': ['D:\\aaaa\\result.html','D:\\122.png'],  # Absolute path will be better.
}

QQ授权码

如果你的发件邮箱是QQ邮箱,发件人的密码就需要用授权码了,在邮箱设置里面找到授权码 QQ邮箱smtp_host是smtp.qq.com,多个收件人的话,接收者可以用list

代码语言:javascript
复制
server = zmail.server('28yourQQ@qq.com',
                      'QQ邮件授权码',
                      smtp_host="smtp.qq.com",
                      smtp_port=465)
server.send_mail(['2833404xx@qq.com','xx33404xx@qq.com'], mail)

更多资料参考前面这篇:https://www.cnblogs.com/yoyoketang/p/11048495.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • content_text发送纯文本
  • content_html发送html正文
  • attachments带附件
  • 正文带图片
  • QQ授权码
相关产品与服务
腾讯企业邮
腾讯企业邮(Tencent Exmail)是腾讯基于多年海量用户邮件系统研发和运营经验,为企业量身订造的一套办公用邮箱系统。稳定、简洁和快速,整合了丰富的企业应用,涵盖资源共享、消息发布、组织管理等方面。腾讯企业邮和微信生态深度整合,为您提供便捷高效的移动邮件解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档