python邮件的图片放在哪里_Python-SMTP发送邮件(HTML、图片、附件)

本文介绍了如何使用Python的SMTP库发送包含HTML正文、附件和图片的邮件。首先展示了发送纯文本HTML邮件的基本步骤,接着添加了附件功能,最后演示了如何在邮件正文中嵌入图片。通过这些方法,可以方便地自动化发送格式丰富的测试报告或其他文档。
摘要由CSDN通过智能技术生成

前言:

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。

一、Python发送HTML邮件

# -*- coding: utf-8 -*-

# @Time : 2018/6/6 上午11:27

# @Author : Wang

# @File : test_mail_html.py

import smtplib

from email.header import Header

from email.mime.multipart import MIMEMultipart

from email.mime.text import MIMEText

def sendMail():

# 定义相关数据,请更换自己的真实数据

smtpserver = 'smtp.163.com'

sender = 'test1@163.com'

#receiver可设置多个,使用“,”分隔

receiver = 'wang@mobile.cn,zhang@mobile.cn,lily@mobile.cn'

username = 'test1@163.com'

password = '2018'

msg = MIMEMultipart()

boby = """

Hi,all

附件为本次FM_自动化测试报告。

请解压zip,并使用Firefox打开index.html查看本次自动化测试报告结果。

"""

mail_body = MIMEText(boby, _subtype='html', _charset='utf-8')

msg['Subject'] = Header("Android_自动化测试报告", 'utf-8')

msg['From'] = sender

receivers = receiver

toclause = receivers.split(',')

msg['To'] = ",".join(toclause)

print(msg['To'])

msg.attach(mail_body)

# 登陆并发送邮件

try:

smtp = smtplib.SMTP()

##打开调试模式

# smtp.set_debuglevel(1)

smtp.connect(smtpserver)

smtp.login(username, password)

smtp.sendmail(sender, toclause, msg.as_string())

except:

print("邮件发送失败!!")

else:

print("邮件发送成功")

finally:

smtp.quit()

二、Python发送邮件带附件

#添加report附件

att = MIMEText(open("/report/html.zip", "rb").read(), "base64", "utf-8")

att["Content-Type"] = "application/octet-stream"

times = time.strftime("%m_%d_%H_%M", time.localtime(time.time()))

filename_report = 'FM_Android_Report'+'_'+times+'.zip'

att["Content-Disposition"] = 'attachment; filename= %s ' %filename_report

msg.attach(att)

三、Python发送邮件正文带图片

msg = MIMEMultipart()

boby = """

Hi,all

附件为本次FM_自动化测试报告。

请解压zip,并使用Firefox打开index.html查看本次自动化测试报告结果。


"""

msg.attach(mail_body)

fp = open("/image/1.png", 'rb')

images = MIMEImage(fp.read())

fp.close()

images.add_header('Content-ID', '')

msg.attach(images)

以上~~对你有帮助的话,点赞吧~👍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值