python 發送qq郵件的示例

python自帶瞭兩個模塊smtplib和email用於發送郵件。smtplib模塊主要負責發送郵件,它對smtp協議進行瞭簡單的封裝。email模塊主要負責郵件的構造。

email包下有三個模塊:MIMEText,MIMEImage,MIMEMultipart

發送純文本qq郵件

import smtplib
from email.header import Header
from email.mime.text import MIMEText

sender = '[email protected]' # 發送使用的郵箱
receivers = ['[email protected]'] # 收件人,可以是多個任意郵箱

message = MIMEText('這裡是正文!', 'plain', 'utf-8')
message['From'] = Header("發送者", 'utf-8') # 發送者
message['To'] = Header("接收者", 'utf-8') # 接收者

subject = '這裡是主題!'
message['Subject'] = Header(subject, 'utf-8')

try:
 # qq郵箱服務器主機
 # 常見其他郵箱對應服務器:
 # qq:smtp.qq.com 登陸密碼:系統分配授權碼
 # 163:stmp.163.com 登陸密碼:個人設置授權碼
 # 126:smtp.126.com 登陸密碼:個人設置授權碼
 # gmail:smtp.gmail.com 登陸密碼:郵箱登錄密碼 

 smtp = smtplib.SMTP_SSL('smtp.qq.com')

 # 登陸qq郵箱,密碼需要使用的是授權碼
 smtp.login(sender, 'abcdefghijklmn') 

 smtp.sendmail(sender, receivers, message.as_string())
 smtp.quit()
 print("郵件發送成功")
except smtplib.SMTPException:
 print("Error: 無法發送郵件")

發送HTML格式郵件

html = """
<html> 
 <body> 
 <h2> HTML </h2> 
 <div style='font-weight:bold'> 
 格式郵件
 </div> 
 </body> 
</html> 
""" 
message = MIMEText(html,'html', 'utf-8') 

發送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'))

# 指定圖片為當前目錄
fp = open('test.png', 'rb')
messageImage = MIMEImage(fp.read())
fp.close()

# 定義圖片ID,和圖片中的ID對應
messageImage.add_header('Content-ID', '<imageTest>')
message.attach(messageImage)

發送帶附件郵件

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 發送qq郵件的示例的詳細內容,更多關於python 發送qq郵件的資料請關註WalkonNet其它相關文章!

推薦閱讀: