「python」郵件腳本

整理一下,python 腳本發郵件的函數。html

from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header

def sendMail():
'''
發送郵件
'''     

    # 發件人的郵箱帳號
    sender = "****@****" 
    # 發件人的郵箱密碼
    sender_password = "****"   
    # 收件人的郵箱帳號
    receiver_mail_adress = ["****@****"]   
    # 抄送人的郵箱帳號
    cc_mail_address = ["****@****", "****@****", "****@****", "****@****"]   
    #郵件正文 
    body = '''
    ****
    '''                    
      
    msg = MIMEMultipart()    
    #郵件主題
    msg["Subject"] = Header("***", "utf-8") 
    #郵件發件人
    msg["From"] = Header("***", "utf-8")
    #郵件收件人
    msg["To"] = Header("***", 'utf-8')
    #郵件抄送
    msg['Cc'] = ','.join([u"**", u"**", u"**", u"**"])
    #郵件正文
    msg.attach(MIMEText(body, 'html', 'utf-8'))
    
    # 附件
    att1 = MIMEText(open("********", 'rb').read(), 'base64', 'utf-8')
    att1["Content-Type"] = 'application/octet-stream'
    # filename 我寫成中文就亂碼,仍是先英文
    att1["Content-Disposition"] = 'attachment; filename= ****'
    msg.attach(att1)
    
    # 發送郵件
    try:
        server = smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)
        
        server.login(sender, sender_password)
        server.sendmail(sender, receiver_mail_adress + cc_mail_address, msg.as_string())
        server.quit()
    except smtplib.SMTPException as e:
        raise e


if __name__ == "__main__":
    sendMail()
相關文章
相關標籤/搜索