1. 程式人生 > >[Python]python3使用smtplib傳送郵件,帶xlsx附件

[Python]python3使用smtplib傳送郵件,帶xlsx附件

#encoding=utf8
import smtplib
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
# 第三方 SMTP 服務
mail_host = "*******"  # 設定伺服器
mail_user = "*******"  # 使用者名稱
mail_pass = "********"  # 口令

sender = '*****'
receivers = ['*****']  # 接收郵件,可設定為你的QQ郵箱或者其他郵箱
content = MIMEText('test')
message = MIMEMultipart()
message.attach(content)
message['From'] = Header("Easy", 'utf-8')
message['To'] = Header("測試", 'utf-8')
subject = 'Python SMTP 郵件測試'
message['Subject'] = Header(subject, 'utf-8')
xlsx = MIMEApplication(open('test.xlsx', 'rb').read())
xlsx["Content-Type"] = 'application/octet-stream'
xlsx.add_header('Content-Disposition', 'attachment', filename='test.xlsx')
message.attach(xlsx)
try:
    smtpObj = smtplib.SMTP()
    smtpObj.connect(mail_host, 25)  # 25 為 SMTP 埠號
    smtpObj.login(mail_user, mail_pass)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print("郵件傳送成功")
except  Exception as e:
    print(e)