【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)

 

posted @ 2013-08-26 14:48  ~嘉言懿行~~我是煲仔饭~~  阅读(314)  评论(0编辑  收藏  举报