步驟:1.導包 2.實例化參數 3.完善msg內容 4.SMTP協議使用
簡述:python的smtplib提供了一種很方便的途徑發送電子郵件。它對smtp協議進行了簡單的封裝
這里要注意一下第三個參數,msg是字符串,表示郵件。我們知道郵件一般由標題,發信人,收件人,郵件內容,附件等構成,發送郵件的時候,要注意msg的格式。這個格式就是smtp協議中定義的格式。
通過實例化 smtplib 模塊的 SMTP 對象 smtpObj 來連接到 SMTP 訪問,並使用 sendmail 方法來發送信息
文本參考代碼如下:
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = '發送者郵箱'
receiver = '接收者郵箱'
auth_code = '發送者授權碼'
subject = 'his測試報告'
# MIMEText 這個方法三個參數 1.文本 ,2.文本類型 3.格式
msg = MIMEText("<html><h2"
">努力賺錢才是正經事,窮人的精力更多是在思考如何生活,富人才有精力享受生活。比如,她晚上邀你去她家做客,沒錢的人或許會因為心疼打車錢而止步,有錢的人只會因為正在另一位姑娘家做客而拒絕。</h2"
"></html> ", _subtype="html", _charset="utf-8")
# subject 郵件標題 from 發送者 receiver 接收者 (三缺一都會發送失敗)
msg["subject"] = subject
msg["from"] = sender
msg["to"] = receiver
try:
smtp = smtplib.SMTP() # 實例化 SMTP 這里寫法 smtp = smtplib.SMTP('smtp.163.com')
smtp.connect("smtp.163.com")
smtp.login(sender, auth_code) # 可以理解為登錄郵箱
smtp.sendmail(sender, receiver, msg.as_string()) # 發信人,收件人,郵件內容(轉成string類型)
smtp.quit()
print('發送成功')
except BaseException as msg:
print("郵件發送失敗", msg)
# 本人也是初學者分享,分享內容可能存在解釋錯誤,僅供參考 :若有錯誤指出博主會感激不盡