Python-SMTP发送邮件(HTML、图片、附件)

前言:

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 = '[email protected]'
    #receiver可设置多个,使用“,”分隔
    receiver = '[email protected],[email protected],[email protected]'
    username = '[email protected]'
    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)


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

你可能感兴趣的:(Python-SMTP发送邮件(HTML、图片、附件))