用python3的smtplib庫發郵件一直返回無法發送郵件提示,是什么原因?
問題描述
按照網上python3發郵件的教程,在jupyter運行都返回發送失敗提示,是缺少了什么環境嗎?
代碼應該沒問題,不過還是貼出來:
# import smtplib# from email.mime.text import MIMEText# from email.header import Header# # 第三方 SMTP 服務# mail_host='smtp.qq.com' #設置服務器# mail_user='我的郵箱' #用戶名# mail_pass='郵箱口令' #口令 # sender = ’我的郵箱’# receivers = [’目標郵箱’] # 接收郵件,可設置為你的QQ郵箱或者其他郵箱 # # 三個參數:第一個為文本內容,第二個 plain 設置文本格式,第三個 utf-8 設置編碼# message = MIMEText(’這是一個禮物,我等會會刪掉的’, ’plain’, ’utf-8’)# message[’From’] = Header('你的郵件', ’utf-8’)# message[’To’] = Header('你的郵件', ’utf-8’)# subject = ’你的郵件’# message[’Subject’] = Header(subject, ’utf-8’)# try:# smtpObj = smtplib.SMTP('smtp.qq.com') # smtpObj.connect('smtp.qq.com', 25) # 25 為 SMTP 端口號# smtpObj.login(mail_user,mail_pass)# smtpObj.sendmail(sender, receivers, message.as_string())# print ('郵件發送成功')# except smtplib.SMTPException:# print('Error: 無法發送郵件')
問題解答
回答1:你的郵箱賬號開啟了 POP3/SMTP/IMAP 這幾個協議嗎
回答2:了解 SMTP, IMAP, POP3 之間的關聯及區別, 了解電子郵件的收/發是如何進行的, 了解MIME是咋回事
了解你所在的郵件服務商是否會有 App Code 這種東西( 主流郵箱都有了 )
不要用 Python 標準庫來弄這件事情了, 比如: https://github.com/hezhiming/...
其實只要搞定1, 其他的都是浮云
相關文章:
1. java - 請問在main方法中寫成對象名.屬性()并賦值,與直接參參數賦值輸錯誤是什么原因?2. mysql 創建root 用戶出錯,這是什么原因?mysql 中也沒有root用戶3. 請問一下,圖片上傳成功,但是后臺對應文件夾里面卻沒有圖片,這是什么原因?(已部署到服務器)4. python - 文件里有這個文檔,但是終端說找不到,是什么原因?5. node.js - nodejs和前端JavaScript 字符串處理結果不一樣是什么原因?6. android - layout_widthPercent加載dependencies后還是不能使用,是什么原因?7. php-_server-php_self - nginx $_SERVER[’PHP_SELF’] 得到重復路徑是什么原因?8. node.js - node socket出錯,這是什么原因?另外我想設置連接超時,怎么寫呢?9. android - 手機qq瀏覽器處理服務器端返回的數據時,數據格式有時為object有時為string是什么原因?10. Android Studio 中 xUtils 3.0 替換 2.0 的時候總報找不到 jar 包是什么原因?
