整理一下,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()