2023年9月26日 星期二

小專案-自動發送郵件(傳送非ASCII 附檔 等作法)

 

import smtplib


SMTP_USERNAME = 'user@yahoo.com.tw'
#登入帳號
SMTP_PASSWORD = ********* (在安全性自動生成16碼)
# 應用程式密碼

EMAIL_FROM = 'user@yahoo.com.tw'
#寄件人
EMAIL_TO = 'user_other@gmail.com'
SMTP_PORT = 587
SMPT_SERVER = 'smtp.mail.yahoo.com'
subject = '主題:測試郵件'
body = '這是一封測試郵件。'
msg = f'Subject: {subject}\n\n{body}'
msg = msg.encode('utf-8')
#因為預設在ASCII編碼 所以指定使用utf-8

con = smtplib.SMTP(SMPT_SERVER, SMTP_PORT)

con.ehlo()  
# 申請身分
con.starttls()  
# 加密傳輸
con.login(user=SMTP_USERNAME, password=SMTP_PASSWORD)
# 登入帳號
# msg格式: Subject:標題\n信件內容
# 第一個換行符號後方就是信件內容
msg = "Subject:標題\n我要當頂尖的工程師"
msg = msg.encode('utf-8')
# 由於只支援ascii編碼,所以要設定改成utf-8
con.sendmail(from_addr=EMAIL_FROM, to_addrs=EMAIL_TO, msg=msg)
# 設定寄件人 收件人 內容
con.close()

標籤:

0 個意見:

張貼留言

訂閱 張貼留言 [Atom]

<< 首頁