這裏用到了Python的兩個包來發送郵件: smtplib 和 email 。
Python 的 email 模塊裏包含了許多實用的郵件格式設置函數,能夠用來建立郵件「包裹」。使用的 MIMEText 對象,爲底層的 MIME(Multipurpose Internet MailExtensions,多用途互聯網郵件擴展類型)協議傳輸建立了一封空郵件,最後經過高層的SMTP 協議發送出去。 MIMEText 對象 msg 包括收發郵箱地址、郵件正文和主題,Python 經過它就能夠建立一封格式正確的郵件。smtplib 模塊用來設置服務器鏈接的相關信息。python
要想經過QQ郵箱來發送郵件,須要開啓QQ郵箱的設置-帳戶裏SMTP服務,接下來會經過發送短信驗證來得到受權碼,有了受權碼後就能夠在代碼裏添加了。服務器
接下來看看QQ的郵件服務器配置:函數
根據此配置來設置smtplib.SMTP_SSL()函數的參數。測試
具體代碼以下:ui
#coding=utf-8 import smtplib from email.mime.text import MIMEText msg_from='xxxxxxxxx@qq.com' #發送方郵箱 passwd='abcdefghigklmnop' #填入發送方郵箱的受權碼 msg_to='xxxxx@foxmail.com' #收件人郵箱 subject="python郵件測試" #主題 content="這是我使用python smtplib及email模塊發送的郵件" #正文 msg = MIMEText(content) msg['Subject'] = subject msg['From'] = msg_from msg['To'] = msg_to try: s = smtplib.SMTP_SSL("smtp.qq.com",465) #郵件服務器及端口號 s.login(msg_from, passwd) s.sendmail(msg_from, msg_to, msg.as_string()) print "發送成功" except s.SMTPException,e: print "發送失敗" finally: s.quit()
來看一下效果,發送成功!3d