zoukankan      html  css  js  c++  java
  • python3 发送邮件

    记录一下python3发送邮件,直接把整个代码贴出来。

    # TODO(harry.he@xiucai.com):这是邮件发送的代码
    # -*- coding:utf-8 -*-
    __author__ = u'harry'
    
    import smtplib
    import time
    import string
    
    from email.header import Header
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.mime.application import MIMEApplication
    from xiucai.xiucai_s import excel
    excelpath = 'D:\python\DATA\TestCase1.xls'
    
    
    class post:
        def send_mail(self):
            excelX = excel.excel(excelpath)
            email_from = "email@email.com" #邮件发送人
            email_to = ["email@email.com","email@email.com"]    #收件人
            email_Sub = "自动化测试报告"+str(time.strftime("%Y/%m/%d",time.localtime()))
    
            msg = MIMEMultipart()
            msg['From'] = Header(email_from, 'utf-8')
            msg['To'] = Header("自动化测试报告收件人", 'utf-8')
            msg['Subject'] = Header(email_Sub,'utf-8')
            # 邮件主体内容
            mail_body = ("<table border=1 cellspacing=0 cellpadding=10 ><font face=Verdana><tr><td bgcolor=c5d9f1 align=right>"+ excelX.read(1,2,2) + "</td><td align=left>" + excelX.read(1,3,2) + "</td></tr>" +
                                              "<tr><td bgcolor=c5d9f1 align=right>"+excelX.read(1,2,3) + "</td><td align=left>" +excelX.read(1,3,2) + "</td></tr>" +
                                              "<tr><td bgcolor=c5d9f1 align=right>"+excelX.read(1,2,4) + "</td><td align=left>" +excelX.read(1,3,4) + "</td></tr>" +
                                              "<tr><td bgcolor=c5d9f1 align=right>"+excelX.read(1,2,5) + "</td><td align=left>" +excelX.read(1,3,5) + "</td></tr>" +
                                              "<tr><td bgcolor=c5d9f1 align=right>"+excelX.read(1,2,6) + "</td><td align=left>" +format(float(excelX.read(1,3,6)), '.0%') + "</td></tr>" +
                                              "<tr><td bgcolor=c5d9f1 align=right>"+excelX.read(1,2,7) + "</td><td align=left>" +format(float(excelX.read(1,3,7)), '.0%') + "</td></tr>" +"</td></tr></center></font></table>")
    
            # 邮件正文内容  "plain","html"
            msg.attach(MIMEText(mail_body, 'html', 'utf-8'))
            # 构造附件,传送当前目录下的 文件
            att = MIMEText(open(excelpath, 'rb').read(), 'base64', 'utf-8')
            att["Content-Type"] = 'application/octet-stream'
            # 这里的filename可以任意写,写什么名字,邮件中显示什么名字
            att["Content-Disposition"] = 'attachment; filename="TestCase.xls"'
            msg.attach(att)
    
            smtp = smtplib.SMTP()
            try:
                smtp.connect("smtp.exmail.qq.com") #使用的邮箱smtp服务器
                smtp.login(email_from,'Emailpassword') #邮箱登录
                smtp.sendmail(email_from,email_to,msg.as_string())#发送邮件内容
                smtp.quit() #关闭链接
                excelX.close()
                print("邮件已发送成功")
            except smtplib.SMTPException:
                print("Error:邮件发送失败")
    
    #post().send_mail()
  • 相关阅读:
    python数据分析与展示
    人生苦短,我学python。
    数学
    解决git for windows 和 vim for windows 的 vim 显示中文乱码的问题
    解决win7连接IPsec报错789和809错误
    python安装pandas库
    vim配置文件
    0x03-数据和C
    Ubutun安装问题记录
    Django-rest-framework --- 三大认证
  • 原文地址:https://www.cnblogs.com/harry-xiaojun/p/6709030.html
Copyright © 2011-2022 走看看