码迷,mamicode.com
首页 > 编程语言 > 详细

python发送邮件

时间:2020-05-02 11:26:27      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:with   mime   地址   学习   sub   收件人   head   代码示例   自动化   

代码示例:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys

sys.path.append(‘.‘)
import os
import smtplib
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
from email.mime.multipart import MIMEMultipart



def _format_addr(s):
    """格式化邮件地址"""
    name, addr = parseaddr(s)
    return formataddr((Header(name, ‘utf-8‘).encode(), addr))


def send_report_mail():
    """发送最新的测试报告"""
    # email地址和口令:
    user = ‘username‘
    pwd = ‘password‘
    # 收件人地址
    to_addr = ADDRESSEE # type is list
    # SMTP服务器地址
    smtp_server = ‘smtp_host‘
    smtp_port = ‘smtp_port‘
    try:
        # 初始化邮件对象
        msg = MIMEMultipart()
        msg[‘From‘] = _format_addr("selenium爱好者<%s>" % user)
        msg[‘To‘] = _format_addr(‘管理员 <%s>‘ % ‘,‘.join(to_addr))
        msg[‘Subject‘] = Header("unittest演示测试", ‘utf-8‘).encode()

        # 发送HTML文件
        msg.attach(MIMEText("HTML内容", ‘html‘, ‘utf-8‘))

        # 发件人邮箱中的SMTP服务器,端口
        with smtplib.SMTP_SSL(smtp_server, smtp_port) as server:
            # 括号中对应的是发件人邮箱账号、邮箱密码
            server.login(user, pwd)
            # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
            server.sendmail(user, to_addr, msg.as_string())
        print("测试结果邮件发送成功!")
    except smtplib.SMTPException as e:
        print(u"Error: 无法发送邮件", format(e))


if __name__ == ‘__main__‘:
    send_report_mail()

使用以上代码即可使用python发送HTML报告!

其他的详见廖雪峰博客

https://www.liaoxuefeng.com/wiki/1016959663602400/1017790702398272

喜欢python自动化测试或正在学习自动化测试的同学
欢迎加入我的QQ群:299524235(python自动化测试学习)

python发送邮件

标签:with   mime   地址   学习   sub   收件人   head   代码示例   自动化   

原文地址:https://www.cnblogs.com/wxhou/p/12817270.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!