一、發送 html 文本內容的郵件html
# smtplib 負責發送郵件 import smtplib # MIMEText 負責構造郵件內容 from email.mime.text import MIMEText # Header 是用來構建郵件頭的 from email.header import Header smtpServer= "smtp.163.com" sender = "zhengying0813@163.com" passWord = "MDZWNINBZEDKXXX" receiver = "zhengying0813@163.com" subject = "Python email test" # 三個參數:第一個爲文本內容,第二個 html 設置文本格式,第三個 utf-8 設置編碼 msg = MIMEText("<html><h1>你好!</h1></html>","html","utf-8") # 定義郵件主題 msg["Subject"] = Header(subject,"utf-8") msg["From"] = Header(sender,"utf-8") msg["To"] = Header(receiver) smtp = smtplib.SMTP() smtp.connect(smtpServer) # 登陸 SMTP 服務器 smtp.login(sender,passWord) # msg.as_string() 把 MIMEText 變成 str 對象 smtp.sendmail(sender,receiver,msg.as_string()) smtp.quit()
二、發送帶附件的郵件服務器
import smtplib from email.mime.text import MIMEText from email.header import Header from email.mime.multipart import MIMEMultipart smtpServer= "smtp.163.com" sender = "zhengying0813@163.com" passWord = "MDZWNINBZEDKCXXX" receiver = "zhengying0813@163.com" subject = "Python email test" # 建立一個帶附件的實例 msg = MIMEMultipart() msg["Subject"] = Header(subject,"utf-8") msg["From"] = Header(sender,"utf-8") msg["To"] = Header(receiver) # log.txt 爲報告文件 file = open("log.txt","rb").read() att = MIMEText(file,"base64","utf-8") # 這裏的 filename 定義郵件中顯示什麼名字 att["Content-Disposition"] = 'attachment; filename="log.txt"' # 添加文件到郵件附件中去 msg.attach(att) smtp = smtplib.SMTP() smtp.connect(smtpServer) smtp.login(sender,passWord) smtp.sendmail(sender,receiver,msg.as_string()) smtp.quit()