接口测试基础——第一篇smtplib发送文字邮件

现在我们就开始进入接口测试框架的知识准备阶段,今天是第一篇,很简单的,就是发送纯文字的电子邮件,会的童鞋可以忽略,不会的就多敲几遍,直到自己能敲出来为止~~

# coding: utf-8

import smtplib
from email.mime.text import MIMEText

mail_host = 'smtp.163.com'
receivers = ['XX@qq.com','bb@qq.com']
receiver = ';'.join(receivers)
password = '这里是授权码'
sender = 'you@163.com'
contents = 'Python 发送邮件'
# 构造邮件正文
msg = MIMEText(contents, 'plain', 'utf-8')
# 构造邮件头部
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = '主题'
try:
	server = smtplib.SMTP()
	server.connect(mail_host, 25)
	server.login(sender, password)
	server.sendmail(sender, receivers,msg.as_string())
	server.close()	
        print '发送成功'
except smtplib.SMTPException:	
        print '无法发送'

上面就是全部的代码了,下面先说明一下授权码的获取方式:

我用的是163邮箱,先进入163邮箱,然后点设置,选择图片中的选项:

然后再按着图片点击:

选择客户端授权码,就可以设置了。

代码中的sender就写你的163邮箱,password就写你的授权码,receivers写接收邮件的邮箱。OK,这样,就可以发送一封纯文本的邮件啦~~~

接下来我们简单的说一下上面的代码:

发送以后接收到的邮件:

可以看到:

msg就是在构造整个邮件的内容:包括头部信息和正文;

server.connect为连接163邮箱的服务器,25为默认端口号,经验证不写这个也是 可以正常发送的;

server.login为登录邮箱;

server.sendmail为发送邮件;

这样我们就完成了发送文本邮件的代码啦~~~

还请大家多多提意见,我们慢慢来,重要的是学会~~~如果你觉得对你有帮助,也欢迎大家转发,船长先谢谢各位啦~~~

原文发布于微信公众号 - 自动化测试实战(gh_839e78b6ba28)

原文发表时间:2017-09-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏武军超python专栏

2018年7月31日学习ubuntu的基础操作命令和打包压缩解压缩

今天遇到的新单词: faith n 信用,信任 usage n 用法 upload n上传

17840
来自专栏静下来

mac下iTerm2支持ssh快捷连接服务器的方法

image.png 以前自己还很少用到Mac来弄服务器这块,就偶尔用下,所以之前一直用Mac自带的终端。 最近经常在外,也就比较常用Mac来,觉得自带的终端还是...

75730
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Git Hooks部署Jekyll站点

Jekyll是一个静态站点生成器,它提供了内容管理系统(CMS)的一些优点,同时避免了此类数据库驱动的站点引入的性能和安全问题。它具有“博客意识”,并包含处理日...

16430
来自专栏拂晓风起

Flash:彻底理解crossdomain.xml、跨swf调用。

20830
来自专栏北京马哥教育

Python 发送邮件脚本

? 作者:Jesse-csdn 来源: http://blog.csdn.net/l2show/ar...

606100
来自专栏生信宝典

原来你是这样的软连接

12730
来自专栏ytkah

修改lastpass主密码后需重启firefox才能加载已保存的站点密码或用导入工具

  最近索尼事件闹得沸沸扬扬,预防黑客先从升级密码开始。由于开发的需要一般是用firefox作为默认的浏览器,很早以前就装了lastpass密码管理器作为必备附...

31040
来自专栏北京马哥教育

亲自动手写一个python库(二)

引言 经过上一节中所述,我们搭建好了一个Python环境用于库开发,我们在这一节真正开始搭建一个库,并将其发布。 项目文档结构 首先我们先构建出自己项目的文档...

36670
来自专栏农夫安全

【docker复现】分享几个小实例漏洞

漏洞1 Node.jsnode-serialize 反序列化 • Node.js存在反序列化远程代码执行漏洞,Node.js的node-serialize库中存...

518110
来自专栏开发与安全

linux系统编程之进程(一):进程基本概述

一、什么是进程 从用户的角度来看进程是程序的一次执行过程。 从操作系统的核心来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位。 进程是资源分配的...

235100

扫码关注云+社区

领取腾讯云代金券