1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > python调用foxmail 发邮件_使用Python发送邮件

python调用foxmail 发邮件_使用Python发送邮件

时间:2023-03-27 22:50:22

相关推荐

python调用foxmail 发邮件_使用Python发送邮件

发送邮件

在生成报告后我们希望框架能自动把报告发送到我们的邮箱中。和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服务器地址 使用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@' # 发件人

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

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服务器地址 使用SSL模式

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

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

smtp.quit()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。