接口测试学习-python第七课(发送邮件/yagmail)

时间:2021-11-13 22:21:33

在python中有一个自带的发邮件模块,就是smtplib,但是这个模块使用起来比较复杂。可以安装一个更方便的外部模块yagmail。安装方法分为直接安装,安装whl结尾的文件和安装gz结尾的压缩文件,在前面的随笔中有讲到。

接下来是yagmail的使用方法。如果你要使用python发邮件,必须先获得邮箱的授权码(不是密码!是授权码!),接下来以网易163邮箱为例说明获取授权码步骤。

登陆邮箱,点击设置,然后在设置下的选项中随意点击一个。

接口测试学习-python第七课(发送邮件/yagmail)

在展示的界面左边,选择“客户端授权密码”,再点击“开启”。

接口测试学习-python第七课(发送邮件/yagmail)

这时候

这时候会利用手机获取验证码,填入收到的验证码后,就可以获取到授权码了。然后就可以在python中进行功能编写。

 1 import yagmail
 2 
 3 username = '***************'  # 账号
 4 passwd = '********'  # 授权码
 5 mail = yagmail.SMTP(user=username, password=passwd,
 6                     host='smtp.163.com'
 7                     # port=默认值,有专用的就改就行了
 8                     )  # host随着所用邮箱不同而不同,如果使用的是QQ邮箱,最后还需要加smtp_ssl=True
 9 # 因为QQ邮箱用的安全协议,如果所用的邮箱是安全协议的就都要加这个
10 mail.send(to='123456@qq.com',  # 如果是单个收件人直接字符串就行,多个用list包裹起来
11           # cc='123456@qq.com',  # 抄送用cc
12           subject='学习发送邮件',  # 邮件标题
13           contents='刚刚没发出去这个附件',  # 邮件内容
14           attachments='axure.pdf'  # 复制一下附件的绝对路径,多个附件同样list就行
15           )
16 print('发送成功')

 在代码中发送附件时,attachments = r'文件绝对路径地址'即可。但win10和win8操作系统有点奇葩,总会出错,此时把附件复制到和代码文件同一位置,然后直接attachments = '文件名.格式'即可成功发送。