zoukankan      html  css  js  c++  java
  • Python sendemail txt,html,图片及附件

    上代码

    from email.mime.image import MIMEImage
    
    from email import encoders
    from email.header import Header
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.mime.base import MIMEBase
    from email.utils import parseaddr,formataddr
    import smtplib
    
    """发送附件图片"""
    """
    def _format_addr(s):
        name, addr = parseaddr(s)
        return formataddr((Header(name, 'utf-8').encode(), addr))
    
    
    #邮件配置参数
    From_addr = xx@xx.com"
    Password = "xx"
    To_addr = "xx"
    Smtp_server = "smtp.exmail.qq.com"
    ###
    
    
    def send_mail_file(file_new,file_txt,file_png):
        """发送带附件的邮件"""
        print('正在发送中-------------------------')
        # 读取html报告文件内容
        with open(file_new, 'rb') as f:
            mail_body = f.read()
    
        # 邮件内容封装
        def _format_addr(s):
            name, addr = parseaddr(s)
            return formataddr((Header(name, 'utf-8').encode(), addr))
    
        #带附件
        msg=MIMEMultipart()
    
        # 邮件对象
        msg['From'] = _format_addr('测试负责人 <%s>' % from_addr)
        msg['To'] = _format_addr('管理员 <%s>' % to_addr)
        msg['Subject'] = Header('测试机', 'utf-8').encode()
        msg['Date'] = "2020-3-25"
    
        #txt
        text="hi,this is txt,thanks!"
        text_plain=MIMEText(text,"plain","utf-8")
        msg.attach(text_plain)
    
        #image
        sendimagefile=open(file_png,'rb').read()
        image=MIMEImage(sendimagefile)
        image.add_header('Content-ID','<image1>')
        image.add_header('Content-Disposition', 'attachment', filename=file_png)
        msg.attach(image)
    
        #html
        text_html=MIMEText(mail_body,'html','utf-8')
        msg.attach(text_html)
    
        #MIMEBase标识附件的对象
        att=MIMEText(mail_body,'base64','utf-8')
        att.add_header('Content-Disposition', 'attachment', filename=file_new)
        msg.attach(att)
    
        #附件
        sendfile=open(file_txt,'rb').read()
        text_att=MIMEText(sendfile,'base64','utf-8')
        text_att['Content-Type']='application/octet-stream'
    
        text_att.add_header('Content-Disposition', 'attachment', filename=file_txt)
        msg.attach(text_att)
    
        # 发送邮件
        server = smtplib.SMTP(smtp_server, 25)
        # server.set_debuglevel(1)   #打印信息
        server.login(from_addr, password)
        server.sendmail(from_addr, [to_addr], msg.as_string())
        server.quit()
        print("邮件已发出!注意查收。")
    
    if __name__=="__main__":
        file_new=r"F:/download/report/report.html"
        file_png=r"F:/download/test.png"
        file_txt=r"F:/download/txt.txt"
    
        send_mail_file(file_new, file_txt, file_png)
  • 相关阅读:
    存储过程
    loadrunner性能测试——入门
    loadrunner性能测试——第一步 录制脚本(中文版)
    LoadRunner初级教程
    LoadRunner培训初级教程
    帮同学参加数学建模做的求点集间最短距离,时间复杂度300*300
    整数划分问题
    MOOC《Python网络爬虫与信息提取》学习过程笔记【requests库】第一周4-
    MOOC《Python网络爬虫与信息提取》学习过程笔记【requests库】第一周1-3
    我的博客园链接
  • 原文地址:https://www.cnblogs.com/lisa2016/p/12568887.html
Copyright © 2011-2022 走看看