发送邮件

在生成报告后我们希望框架能自动把报告发送到我们的邮箱中。和outlook,foxmail等邮件客户端一样,Python中发送邮件需要通过Email的smtp服务发送。

使用Python发送邮件

首先需要登录自己的邮箱,在设置中开启smtp服务,并记住授权密码。

发送邮件分3步

编写邮件内容(Email邮件需要专门的MIME格式)

组装Email头(发件人,收件人,主题)

连接smtp服务器并发送邮件

import smtplib # 用于建立smtp连接

from email.mime.text import MIMEText # 邮件需要专门的MIME格式

# 1. 编写邮件内容(Email邮件需要专门的MIME格式)

msg = MIMEText('this is a test email', 'plain', 'utf-8') # plain指普通文本格式邮件内容

# 2. 组装Email头(发件人,收件人,主题)

msg['From'] = '你的邮箱地址' # 发件人

msg['To'] = '收件人邮箱地址' # 收件人

msg['Subject'] = '邮件主题' # 邮件主题

# 3. 连接smtp服务器并发送邮件

smtp = smtplib.SMTP_SSL('smtp.qq.com') # smtp服务器地址 使用SSL模式

smtp.login('你的邮箱地址', '邮箱授权密码') # 用户名和密码

smtp.sendmail("你的邮箱地址", "收件人邮箱地址", msg.as_string())

smtp.quit()

携带附件

import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart # 混合MIME格式,支持上传附件

from email.header import Header # 用于使用中文邮件主题

# 1. 编写邮件内容

with open('report.html', encoding='utf-8') as f: # 打开html报告

email_body = f.read() # 读取报告内容

msg = MIMEMultipart() # 混合MIME格式

msg.attach(MIMEText(email_body, 'html', 'utf-8')) # 添加html格式邮件正文(会丢失css格式)

# 2. 组装Email头(发件人,收件人,主题)

msg['From'] = 'test_results@sina.com' # 发件人

msg['To'] = '2375247815@qq.com' # 收件人

msg['Subject'] = Header('接口测试报告', 'utf-8') # 中文邮件主题,指定utf-8编码

# 3. 构造附件1,传送当前目录下的 test.txt 文件

att1 = MIMEText(open('report.html', 'rb').read(), 'base64', 'utf-8') # 二进制格式打开

att1["Content-Type"] = 'application/octet-stream'

att1["Content-Disposition"] = 'attachment; filename="report.html"' # filename为邮件中附件显示的名字

msg.attach(att1)

# 4. 连接smtp服务器并发送邮件

smtp = smtplib.SMTP_SSL('smtp.qq.com') # smtp服务器地址 使用SSL模式

smtp.login('你的邮箱', '邮箱授权码') # 用户名和密码

smtp.sendmail("你的邮箱", "收件人邮箱", msg.as_string())

smtp.quit()

python调用foxmail 发邮件_使用Python发送邮件相关推荐

  1. python调用foxmail 发邮件_调用foxmail发送邮件

    因为foxmail没有api调用接口,工作中又需要使用foxmail发送邮件(主要是附件).在网上没有发现这方面的程序.特写一下自己写的一个示例 示例如下: 需要添加 using System.Run ...

  2. python调用c语言函数_从Python调用C函数

    python调用c语言函数 We can call a C function from Python program using the ctypes module. 我们可以使用ctypes模块从P ...

  3. python调用函数怎么错_在Python中从类调用函数时参数数目错误

    我试图用python编写一个遗传算法的实现.上面写着我用两个参数来调用它,而只有一个是允许的,但我肯定我不允许.在 以下是相关代码:class GA: def __init__(self, best, ...

  4. 用python定时自动发微博_用python自动发微博

    --刚刚全部写完了点发布--结果什么都没保存--内心好忧伤. 终极目标是用raspberry pi + camera 捕捉画面,处理图像识别图中有我家主子(猫), 然后自动capture图像,发微博. ...

  5. 用python定时自动发微博_用 Python 自动定时发微博

    其实小帅b已经挺久没有玩微博了,记得上次玩微博还是为了给周杰伦打榜,不过最近心血来潮,觉得俺的微博账号躺着也是躺着,要不就用 Python 做一个自动定时发微博的机器人,让它在上面飘一会. 怎么个飘法 ...

  6. python调用打印机打印图片_在python中通过图像发送到打印机上的文本

    在 windows系统中使用 python,wx python和sqlite.我正在尝试打印一些证书/文凭/卡片,背景中有图像,上面有人/文字的名称. 我知道使用来自Pywin32的win32prin ...

  7. python调用报表制作工具_使用Python轻松制作漂亮的表格

    Python太有用而且很方便 图表可以用matplotlib轻松制作,数值计算只要有numpy就行. 最近,Python被广泛用于机器学习系统的研究,甚至还能制作游戏. 我突然想知道:"是否 ...

  8. python调用默认播放器_用Python批量下载MOOC资源

    简介 这是我编写的一个Python脚本,用来批量下载一门MOOC的资源,包括视频.PDF和课程目录. 你是否也曾上MOOC学习过?有没有和我一样遇到这些情况:在线看MOOC视频消耗流量好多,或者浏览器 ...

  9. python调用gpu进行运算_用python做GPU计算(1)——安装以及配置

    实验小白鼠:联想Y470 显卡 GT550M 操作系统 ubuntu12.04 64位 python2.7 ubuntu12.04 需要重新安装显卡驱动,不过可以直接安装 cuda_5.0.35_li ...

  10. python调用百度语音发音_用python百度AI文字转语音

    最近发现连续长时间盯着屏幕,眼睛实在是有点遭不住.对于我这种又想保护视力,又不想放下小说的人来说,简直就是遇到了像 " 鱼与熊掌不可兼得" 一般的世纪难题. 首先你得去百度控制台登 ...

最新文章

  1. leecode---46---数组,dfs---求出数组的所有组合
  2. new二维数组的几种方法
  3. requests payload_python+Requests接口自动化测试之传递 URL 参数
  4. 7 款 Python 开源框架的优劣总结
  5. oracle查询报错clb,Oracle RAC 负载均衡与故障转移(三)
  6. ASP.net控件开发系列(四)
  7. mysql.servet复制到哪_Mysql复制及代理
  8. ADO中最重要的对象有三个:Connection、Recordset和Command
  9. C++继承:公有,私有,保护
  10. Oracle数据库备份与恢复
  11. 无限联盟服务器,无限乱斗正式上线,全服服务器被网友挤爆!LOL重回巅峰状态!...
  12. 浅谈Single-Pass算法
  13. easyui的filebox组件实现多文件上传
  14. 安卓源码目录最全解析
  15. QML之gradient
  16. 织梦免费网站模板手机端无法更新的原因及解决
  17. java如何处理锯齿_java – 平滑锯齿的路径
  18. opencv——批量修改图片像素大小
  19. [转]Ubuntu 小企鹅输入法fcitx 支持 五笔拼音
  20. Android常用热门开源库汇总(持续更新)

热门文章

  1. 从零开始,做一个NodeJS博客(零):整体规(chui)划(niu)
  2. [bzoj3197][SDOI2013]assassin
  3. mysql spatial索引_空间索引Spatial Indexing
  4. Android 非功能性测试(性能测试)
  5. android Removing unused resources requires unused code shrinking to be turned on. 错误记录
  6. WAIC | 奇点云携「酷炫AI应用」亮相2019世界人工智能大会
  7. busybox制作的rootfs,启动脚本修改定制
  8. MAXTENT模型地理维度不一致的解决办法
  9. java学习心路历程
  10. Debian7安装无线网卡