zoukankan      html  css  js  c++  java
  • 【python】一个备份把文件备份到邮箱的python实现

    公司服务器弄了跳板机,从服务器上拉文件变得好麻烦,弄了个脚本从服务器上向邮箱发送文件,还蛮方便哈~

    #!/usr/bin/env python2.7
    #! coding:UTF-8
    
    
    import smtplib
    from email.MIMEMultipart import MIMEMultipart
    from email.MIMEBase import MIMEBase
    from email.MIMEText import MIMEText
    from email.Utils import COMMASPACE, formatdate
    from email import Encoders
    import os
    import sys
    from optparse import OptionParser
    
    g_username = "123123123"
    g_password = "xxxxxxxxxxx"
    
    def send_mail(to,subject,content,attached_files):
        smtp = smtplib.SMTP()
        smtp.set_debuglevel(1)
        smtp.connect("smtp.qq.com","25")
        smtp.login(g_username, g_password)
        msg = MIMEMultipart()
        msg["From"] = g_username + "@qq.com"
        msg["To"] = to
        msg['Date'] = formatdate(localtime=True)
        content = "[backup] files: "+ ",".join(attached_files)
        msg['Subject'] = content[:32]
        msg.attach(MIMEText(content))
        for filename in attached_files:
            if not os.path.exists(filename):
                continue
            part = MIMEBase('application', "octet-stream")
            part.set_payload(open(filename,"rb").read())
            Encoders.encode_base64(part)
            part.add_header('Content-Disposition', 'attachment; filename="%s"' 
                            % os.path.basename(filename))
            msg.attach(part)
        smtp.sendmail(g_username + '@qq.com',[to],msg.as_string())
        smtp.close()
    
    if __name__ == "__main__":
        parser = OptionParser()
        (option,args) = parser.parse_args()
        send_mail("接受备份文件的邮箱@163.com","trival","trival",args)
    
  • 相关阅读:
    使用gulp搭建一个传统的多页面前端项目的开发环境
    抓包工具使用
    selectors 模块
    I/O模型
    协程
    进程池
    进程的同步
    进程间通讯的三种方式
    多进程调用
    生产者消费者模型
  • 原文地址:https://www.cnblogs.com/igloo1986/p/3282594.html
Copyright © 2011-2022 走看看