目錄
- 發(fā)送純文本qq郵件
- 發(fā)送HTML格式郵件
- 發(fā)送HTML格式郵件帶圖片
- 發(fā)送帶附件郵件
python自帶了兩個模塊smtplib和email用于發(fā)送郵件。smtplib模塊主要負(fù)責(zé)發(fā)送郵件,它對smtp協(xié)議進行了簡單的封裝。email模塊主要負(fù)責(zé)郵件的構(gòu)造。
email包下有三個模塊:MIMEText,MIMEImage,MIMEMultipart
發(fā)送純文本qq郵件
import smtplib
from email.header import Header
from email.mime.text import MIMEText
sender = '888888@qq.com' # 發(fā)送使用的郵箱
receivers = ['888888@qq.com'] # 收件人,可以是多個任意郵箱
message = MIMEText('這里是正文!', 'plain', 'utf-8')
message['From'] = Header("發(fā)送者", 'utf-8') # 發(fā)送者
message['To'] = Header("接收者", 'utf-8') # 接收者
subject = '這里是主題!'
message['Subject'] = Header(subject, 'utf-8')
try:
# qq郵箱服務(wù)器主機
# 常見其他郵箱對應(yīng)服務(wù)器:
# qq:smtp.qq.com 登陸密碼:系統(tǒng)分配授權(quán)碼
# 163:stmp.163.com 登陸密碼:個人設(shè)置授權(quán)碼
# 126:smtp.126.com 登陸密碼:個人設(shè)置授權(quán)碼
# gmail:smtp.gmail.com 登陸密碼:郵箱登錄密碼
smtp = smtplib.SMTP_SSL('smtp.qq.com')
# 登陸qq郵箱,密碼需要使用的是授權(quán)碼
smtp.login(sender, 'abcdefghijklmn')
smtp.sendmail(sender, receivers, message.as_string())
smtp.quit()
print("郵件發(fā)送成功")
except smtplib.SMTPException:
print("Error: 無法發(fā)送郵件")
發(fā)送HTML格式郵件
html = """
html>
body>
h2> HTML /h2>
div style='font-weight:bold'>
格式郵件
/div>
/body>
/html>
"""
message = MIMEText(html,'html', 'utf-8')
發(fā)送HTML格式郵件帶圖片
html = """
html>
body>
h2> HTML /h2>
div style='font-weight:bold'>
格式郵件帶圖片
/div>
img src="cid:imageTest">
/body>
/html>
"""
message = MIMEMultipart('related')
messageAlter = MIMEMultipart('alternative')
message.attach(messageAlter)
messageAlter.attach(MIMEText(html, 'html', 'utf-8'))
# 指定圖片為當(dāng)前目錄
fp = open('test.png', 'rb')
messageImage = MIMEImage(fp.read())
fp.close()
# 定義圖片ID,和圖片中的ID對應(yīng)
messageImage.add_header('Content-ID', 'imageTest>')
message.attach(messageImage)
發(fā)送帶附件郵件
from email.mime.multipart import MIMEMultipart
message = MIMEMultipart()
message.attach(MIMEText('這里一封帶附件的郵件!', 'plain', 'utf-8'))
# 添加附件
# 其他格式如png,rar,doc,xls等文件同理。
attach = MIMEText(open('test.txt', 'rb').read(), 'base64', 'utf-8')
attach["Content-Type"] = 'application/octet-stream'
attach["Content-Disposition"] = 'attachment; filename="test.txt"'
message.attach(attach)
以上就是python 發(fā)送qq郵件的示例的詳細(xì)內(nèi)容,更多關(guān)于python 發(fā)送qq郵件的資料請關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- Python 調(diào)用API發(fā)送郵件
- Python基于SMTP發(fā)送郵件的方法
- python基于SMTP發(fā)送QQ郵件
- python 自動監(jiān)控最新郵件并讀取的操作
- python實現(xiàn)發(fā)送郵件
- python 實現(xiàn)網(wǎng)易郵箱郵件閱讀和刪除的輔助小腳本
- python如何發(fā)送帶有附件、正文為HTML的郵件
- python使用Windows的wmic命令監(jiān)控文件運行狀況,如有異常發(fā)送郵件報警
- python 檢測nginx服務(wù)郵件報警的腳本
- python實現(xiàn)發(fā)送QQ郵件(可加附件)
- python實現(xiàn)定時發(fā)送郵件到指定郵箱
- python實現(xiàn)定時發(fā)送郵件
- Python基礎(chǔ)詳解之郵件處理