用QQ郵箱給本身發送文本郵件:服務器
簡單的郵件傳輸協議SMTP,用於在郵件服務器之間發送電子郵件測試
Python提供了smtplib模塊,使用該模塊能夠進行接收發送郵件和監聽這樣一個過程ui
格式爲:spa
import smptlibdebug
smpt_object = smptlib.SMPT(host,port,local_hostname)調試
host:運行SMTP服務器的主機code
port:主機端口server
local_hostname:若是在本地運行,則指定localhost對象
SMTP對象下有一個sendmail()方法,該方法用於執行郵件發送工做;有三個參數 from_addr, to_addrs, msg,分別爲發件人、收件人和發送的信息blog
from smtplib import SMTP_SSL from email.mime.text import MIMEText from email.header import Header def senreport(): #QQ郵箱的SMTP服務器地址 host_server = "smtp.qq.com" # 發件人QQ郵箱 sender = "發件人" # 受權碼 pwd = "受權碼" # 收件人 receiver = "收件人" # 郵件正文內容 mail_content = "測試郵件" # 郵件標題 mail_title = "測試報告" # QQ郵箱是由SSL的 # SSL登陸 smtp = SMTP_SSL(host_server) # 用來調試,1表示打開,0表示關閉 smtp.set_debuglevel(1) # 服務器名 smtp.ehlo(host_server) # 登陸 smtp.login(sender,pwd) # 郵件正文,格式爲默認的,字符集爲utf-8 msg=MIMEText(mail_content,"plain","utf-8") # 郵件頭 msg["Subject"] = Header(mail_content,"utf-8") msg["From"]=sender msg["To"]=receiver smtp.sendmail(sender,receiver,msg.as_string()) # 退出 smtp.quit() # 測試一下 senreport()
測試以後能成功發送並接收郵件
給多人發送郵件時,就在收件人那裏改一下,以列表的形式存放收件人郵箱地址,而後再把msg["To"]去掉便可