【Stmplib】Python正確模擬傳送QQ郵件
以前也試過模擬發Email,但好像都忘了,於是按照菜鳥教程重新試了一下:
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = '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 Header
f = 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: 無法傳送郵件")
做幾點必要說明:
- 個人資訊存在檔案裡是比較妥善的做法,通過讀檔案來獲取資訊
- 讀的一行檔案帶有換行符,需要去掉末尾
\n
- 發QQ郵箱需要開啟SMTP服務並獲取授權碼
- 注意異常處理,其實這裡的異常處理比較暴力,真的出錯也不便於排錯
相關文章
- golang傳送郵件(qq郵箱)Golang
- Java實現QQ郵件傳送郵件工具類Java
- 電子郵件協議及GO傳送QQ郵件協議Go
- php 傳送郵件(以QQ為例)PHP
- python傳送郵件Python
- Spring Boot實現傳送QQ郵件Spring Boot
- Linux Centos7傳送QQ郵件LinuxCentOS
- 一次性解決python smtp 傳送outlook郵件,163郵件,qq郵件等等.Python
- Python SMTP傳送郵件Python
- 使用python傳送郵件Python
- 使用python傳送郵件和接收郵件Python
- JavaMail:java使用QQ郵箱傳送郵件簡單版。JavaAI
- JavaMailSender怎麼傳送163和qq郵件JavaAI
- 郵件傳送
- 傳送郵件
- Python使用SMTP傳送郵件Python
- python實現傳送郵件Python
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- Bugfree郵件傳送設定(以QQ郵箱為例)
- asp.net 郵件傳送提醒功能(接收方包括QQ郵箱等)ASP.NET
- 使用python傳送和接收郵件Python
- python實現郵件的傳送Python
- Python通用郵件傳送(smtplib)Python
- 【Python】傳送郵件功能淺析Python
- Laravel 傳送郵件Laravel
- PHP傳送郵件PHP
- Django——郵件傳送Django
- java郵件傳送Java
- Laravel傳送郵件Laravel
- gmail傳送郵件AI
- Oracle郵件傳送Oracle
- java傳送郵件Java
- Powershell郵件傳送
- thinkphp 郵件傳送PHP
- centos 傳送郵件CentOS
- 自己動手做QQ木馬----郵件傳送篇 (轉)
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- 在Python如何使用SMTP傳送郵件Python