• python发邮件附件


    python 2.7环境

    [root@localhost send_wrong_sql]# more send_fujin01.py 
    #!/usr/bin/env python 
    # -*- coding: UTF-8 -*- 
    
    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.mime.application import MIMEApplication
    import datetime
    import time
    
    mail_to = "aa@threegene.com"
    mail_host = "mail.threegene.com:465"
    mail_user = "yw@aa.com"
    mail_pass = "123456"
    mail_postfix = "aa.com"
    receivers = ['aa@threegene.com', 'bb@threegene.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
    
    
    now_time = datetime.datetime.now()
    yes_time = now_time + datetime.timedelta(days=-1)
    
    def send_attach(file_name) :
            msg = MIMEMultipart()
            msg["Subject"] = "从库慢查询日志-"+str(now_time.strftime('%Y%m%d'))
            msg["From"] = mail_user  #邮件发送人
            msg["To"] = ','.join(receivers)
            part = MIMEText("123从库慢查询日志,请查看附件!",_charset="utf-8")
            msg.attach(part)
            part = MIMEApplication(open(file_name, 'rb').read())
            part.add_header('Content-Disposition', 'attachment', filename="slowquery_123_"+str(now_time.strftime('%Y%m%d'))+".log")
            msg.attach(part)
    
            try:
                s = smtplib.SMTP_SSL(mail_host)
                s.login(mail_user, mail_pass)
                s.sendmail(mail_user, receivers, msg.as_string())
                s.close()
            except Exception as e:
                print("error:", e)
    
    
    
    def get_filecount(file_name) :
            count=-1
            for count, line in enumerate(open(file_name,'rU')):
                    pass
            count+=1
            return count
    
    if __name__ == '__main__' :
            file_name="/tmp/slowquery/daily_slow_query_"+str(yes_time.strftime('%Y_%m_%d'))+".log"
            file_row=get_filecount(file_name)
            print(file_row)
            if file_row > 0:
                    send_attach(file_name)
  • 相关阅读:
    Redis常用数据类型介绍、使用场景及其操作命令
    spring的官方文档地址
    ps基础学习笔记一
    类的加载时机与步骤(转)
    jvm的基本结构以及各部分详解(转)
    jdk1.8使用的url和driverName的改变
    测试框架简单了解
    shiro简单学习的简单总结
    easyui弹框后销毁当前tab弹框不显示的解决方式
    springboot学习章节代码-Spring MVC基础
  • 原文地址:https://www.cnblogs.com/hxlasky/p/14848542.html
Copyright © 2020-2023  润新知