python使用smtp發郵件報錯:smtplib.SMTPServerDisconnected: Connection unexpectedly closed解決


python版本:3

郵箱:QQ郵箱,端口465

  

  使用python的smtp模塊進行郵件發送,自己測試能成功,但是生產環境會報錯:smtplib.SMTPServerDisconnected: Connection unexpectedly closed

 

腳本如下:

import smtplib
from email.mime.text import MIMEText

mailserver = "smtp.qq.com"
username_send = 'hydd@qq.com'
password = 'frptpssewdsibggc'
username_recv = '407387377@qq.com'
mail = MIMEText('成功!')
mail['Subject'] = 'Python測試'
mail['From'] = username_send
mail['To'] = username_recv
smtp = smtplib.SMTP(mailserver,port=465)
smtp.login(username_send,password)
smtp.sendmail(username_send,username_recv,mail.as_string())
smtp.quit()
print ('success')

 

報錯:

C:\Users\HU\Desktop>python test.py
Traceback (most recent call last):
  File "test.py", line 12, in <module>
    smtp = smtplib.SMTP(mailserver,port=465)
  File "C:\Users\HU\AppData\Local\Programs\Python\Python38\lib\smtplib.py", line 253, in __init__
    (code, msg) = self.connect(host, port)
  File "C:\Users\HU\AppData\Local\Programs\Python\Python38\lib\smtplib.py", line 341, in connect
    (code, msg) = self.getreply()
  File "C:\Users\HU\AppData\Local\Programs\Python\Python38\lib\smtplib.py", line 398, in getreply
    raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed

 

  把通過smtp的server地址,端口連接換成通過smtp_ssl連接,即將smtp = smtplib.SMTP(mailserver,port=465)改成smtp = smtplib.SMTP_SSL(mailserver)連接(其中mailserver= ‘smtp.qq.com’),即可成功。

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM