Python 通過連接qq郵箱服務器發送郵件

python的smtplib提供了一種很方便的途徑發送電子郵件。它對smtp協議進行了簡單的封裝。

發送郵件主要用到了smtplib 和 email


代碼非常簡單,上代碼:

import smtplib
from email.mime.text import MIMEText
from email.header import Header
mail_host = "smtp.qq.com"
mail_user = "[email protected]"
auth ="xxxxxxxxxxxxxxx"#這個是授權碼
sender = "[email protected]"
receivers = ["[email protected]"]

message = MIMEText("門門郵件測試","plain","utf-8")
message['from'] = Header("this is the original","utf-8")
message['to'] = Header("this is the toer","utf-8")
subject = "this is the subject"
message['subject'] = Header(subject,"utf-8")
try:
	smtpObj = smtplib.SMTP_SSL()#建立smtp連接,qq郵箱必須用ssl邊接,因此邊接465端口
	smtpObj.connect(mail_host,465)
	smtpObj.login(mail_user,auth)#登陸
	smtpObj.sendmail(sender,receivers,message.as_string())#發送
	print("succeed sending")
except smtplib.SMTPException as err:
	print("can not send the email")
	print(str(err))

message是郵件的格式,符合smtp定義的格式,此處我們只需調用真充內容即可

主要由三個頭和正文組成,三個頭分別是 from,to subject.


如代碼所示,登陸的時候用了授權碼,授權碼獲取如下;

打開qq郵箱,點擊設置->
賬戶,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務,開啓IMAP/SMTP服務,然後根據要求使用手機發送到指定號碼,獲取授權碼。


這個小例子只是展示了最簡單的功能,message還可以發送附件等

發佈了35 篇原創文章 · 獲贊 36 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章