美文网首页软件测试-各种技能集合Python
Python-SMTP发送邮件(HTML、图片、附件)

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

作者: 小喜_ww | 来源:发表于2018-06-08 14:02 被阅读51次

前言:

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 = """
    <h3>Hi,all</h3>
    <p>附件为本次FM_自动化测试报告。</p>
    <p>请解压zip,并使用Firefox打开index.html查看本次自动化测试报告结果。</p>
    """
    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 = """
    <h3>Hi,all</h3>
    <p>附件为本次FM_自动化测试报告。</p>
    <p>请解压zip,并使用Firefox打开index.html查看本次自动化测试报告结果。</p>
    <p>
    <br><img src="cid:image1"></br> 
    </p>
    <p>
"""
  
msg.attach(mail_body)
fp = open("/image/1.png", 'rb')
images = MIMEImage(fp.read())
fp.close()
images.add_header('Content-ID', '<image1>')
msg.attach(images)

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

相关文章

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

    前言: SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源...

  • python -- Email , send(smtp), re

    python Email功能: 发送普通文本邮件 发送带有html格式的邮件 发送带有附件的邮件 发送插入图片到正...

  • SMTP发送邮件

    发送纯文本格式的邮件 发送HTML格式的邮件 添加附件

  • Python之发送邮件

    Python之发送邮件 使用SMTP模块发送邮件 发送HTML文件 发送带附件的文件 Django发送文件 各大邮...

  • iOS12系统应用发送邮件中的附件

    iOS12系统应用发送邮件中的附件 iOS12系统应用发送邮件中的附件,如果发送邮件的内容很多,或者包含文档、图片...

  • 使用Python发送邮箱

    发送普通文件以及添加附件 发送html内容格式的邮件

  • SMTP 发送邮件

    SMTP 是发送邮件的协议,Python 内置对 SMTP 的支持,可以发送纯文本邮件、HTML 邮件以及带附件的...

  • 61. SMTP发送邮件

    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 P...

  • 邮件发送

    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 S...

  • 使用python发送邮件的四种方式-转

    这里针对smtplib做了一系列封装,可以完成以下四种场景: 发送纯文本的邮件 发送html页面的邮件 发送带附件...

网友评论

本文标题:Python-SMTP发送邮件(HTML、图片、附件)

本文链接:https://www.haomeiwen.com/subject/wlnnsftx.html