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其它相關文章!