【Python】Smtplib正确模拟发送QQ邮件
生活随笔
收集整理的這篇文章主要介紹了
【Python】Smtplib正确模拟发送QQ邮件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以前也試過模擬發Email,但好像都忘了,于是按照菜鳥教程重新試了一下:
import smtplib from email.mime.text import MIMEText from email.header import Headersender = 'from@runoob.com' receivers = ['???@qq.com'] # 接收郵件,可設置為你的QQ郵箱或者其他郵箱# 三個參數:第一個為文本內容,第二個 plain 設置文本格式,第三個 utf-8 設置編碼 message = MIMEText('Python 郵件發送測試...', 'plain', 'utf-8') message['From'] = Header("菜鳥教程", 'utf-8') # 發送者 message['To'] = Header("測試", 'utf-8') # 接收者subject = 'Python SMTP 郵件測試' message['Subject'] = Header(subject, 'utf-8')try:smtpObj = smtplib.SMTP('localhost')smtpObj.sendmail(sender, receivers, message.as_string())print "郵件發送成功" except smtplib.SMTPException:print "Error: 無法發送郵件"結果瘋狂報錯,說是什么ConnectionRefusedError: [WinError 10061] 由于目標計算機積極拒絕,無法連接.
這個問題查搜索引擎發現都是說什么網絡連接問題(比如防火墻、局域網等等),但其實不是關鍵問題,主要是這個代碼有點問題。
修正后的代碼是這樣的:
import smtplib from email.mime.text import MIMEText from email.header import Headerf = open('./config.txt', 'r')# \n換行符需要刪掉 sender = f.readline()[:-1] receiver = f.readline()[:-1] password = f.readline()[:-1]f.close()receivers = [receiver]message = MIMEText('Python騷擾郵件', 'plain', 'utf-8') message['From'] = Header("Python騷擾郵件", 'utf-8') message['To'] = Header("Python騷擾郵件", 'utf-8')subject = 'Python-SMTP郵件測試' message['Subject'] = Header(subject, 'utf-8')try:smtpObj = smtplib.SMTP_SSL("smtp.qq.com", 465)smtpObj.connect("smtp.qq.com", 465)smtpObj.login(sender, password)smtpObj.sendmail(sender, receivers, message.as_string())print("郵件發送成功") except smtplib.SMTPException:print("Error: 無法發送郵件")做幾點必要說明:
總結
以上是生活随笔為你收集整理的【Python】Smtplib正确模拟发送QQ邮件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java】GoF-23种设计模式在Ja
- 下一篇: 【算法分析与设计】基数排序