【python】通过smtp发送邮件

Python 发送邮件

1.开启邮箱SMTP服务

发送邮件需要使用SMTP服务器,常用的免费服务器有 163,QQ,126.

163邮箱的配置方式如下:

在这里插入图片描述

我的授权码:QOHCKMQEHSSHDFMR

2.使用python发送附件

使用模块: smtplib email
以上两个模块都无需安装,能够直接使用。

import smtplib
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
import os
from common.handle_dir import REPORT_DIR

'''
QQ邮箱的smtp服务器地址:smtp.qq.com,端口:465
163邮箱的smtp服务器地址:smtp.163.com,端口:465
'''
# 第一步:连接smtp服务器,登录
# 连接到smtp服务器
smtp = smtplib.SMTP_SSL(host='smtp.163.com', port='465')
# 登录smtp服务器(使用邮箱账号和授权码进行登录)
smtp.login(user='kaishui@163.com', password='QOHCKMQEHSSHDFMR')
# 读取邮件的内容作为正文发送过去(缺陷,邮件中未渲染,显示不友好)
# with open(file=r'E:\PycharmProjects\Interface_auto_test\reports\report.html',mode = 'r',encoding='utf-8') as f:
#     content = f.read()

# 第二步:构造一封多组件邮件
msg = MIMEMultipart()
msg['Subject'] = '测试报告'
msg['To'] = 'xxx@qq.com'
msg['From'] = 'kaishui@163.com'
# 构建邮件中的文本内容
text = MIMEText('接口测试报告', _charset='utf-8')
msg.attach(text)

with open(file=os.path.join(REPORT_DIR, 'report.html'), mode='rb') as f:
    content = f.read()

# 构建邮件中的附件
report = MIMEApplication(content)
report.add_header('content-disposition', 'attachment', filename='repoort.html')
msg.attach(report)

# 第三步:发送邮件
smtp.send_message(msg, from_addr='kaishui@163.com', to_addrs='xxx@qq.com')

最后总结一下:
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:593462778,群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

作者:暗潮汹涌
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值