python 自動(dòng)打包,發(fā)送郵件(包括附件)至多個(gè)收件人(qq郵箱,163郵箱)

------------------------------打包部分----------------------------------
import zipfile

def zipDir(dirpath, outFullName):
    zip = zipfile.ZipFile(outFullName, 'w', zipfile.ZIP_DEFLATED)
    for path, dirnames, filenames in os.walk(dirpath):
        this_path = os.path.abspath('.')
        fpath = path.replace(this_path, '')
        for filename in filenames:
            zip.write(os.path.join(path, filename), os.path.join(fpath, filename))
    zip.close()
    
------------------------------發(fā)送郵件部分----------------------------------
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase #附件
from email.mime.text import MIMEText
from email import encoders #轉(zhuǎn)碼

def server_pre(msg):
    '''郵件服務(wù)器基礎(chǔ)設(shè)置'''
    print('connecting :::::::::::::::')
    server = smtplib.SMTP_SSL('smtp.qq.com')
    # server.starttls()
    fromAddr = 'XXXXXXXX@qq.com'  # 發(fā)件人地址
    myPass = 'password'  # 發(fā)件人密碼
    print('login :::::::::::::::')
    server.login(fromAddr, myPass)
    print('sending :::::::::::::::')
    server.sendmail(msg['From'], msg['To'].split(','),msg.as_string())
    print('quiting :::::::::::::::')
    server.quit()

def send_listing(zippedFn,subject,sendFn,to_adress_list):
    '''發(fā)送郵件'''
    global msg_list
    msg_list = MIMEMultipart()
    msg_list['From'] = 'YYYYYYYYYYY@qq.com'
    msg_list['To'] = ','.join(to_adress_list)
    print(msg_list['To'])
    msg_list['Subject'] = subject
    body = ''send py python'
    msg_list.attach(MIMEText(body))
    print('period 1 :::::::::::::::')
    with open(zippedFn,'rb') as f:
        #這里附件的MIME和文件名
        mime = MIMEBase('zip','zip',filename=sendFn)
        #加上必要的頭信息
        mime.add_header('Content-Disposition','attachment',filename=('gb2312', '', sendFn))
        mime.add_header('Content-ID','<0>')
        mime.add_header('X-Attachment-Id','0')
        #把附件的內(nèi)容讀進(jìn)來
        mime.set_payload(f.read())
        #用Base64編碼
        encoders.encode_base64(mime)
        msg_list.attach(mime)
    print('period 2 :::::::::::::::')
    server_pre(msg_list)
    print(">> email send successfully !!")
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容