簡體   English   中英

使用模塊smtplib發送電子郵件時出錯

[英]Error to send e-mail using module smtplib

我正在使用Python和本地服務器(我工作的地方)自動發送電子郵件的代碼。 我不知道為什么會發生這種錯誤。

我試圖使用模塊smtplib - > smtplib.SMTP_SSL(熱,端口)和smtplib.SMTP(熱,端口)的命令連接服務器,但兩者都不起作用。

import smtplib

server = smtplib.SMTP('IPfromCompanyServer')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\dbou\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "C:\Users\dbou\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 336, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "C:\Users\dbou\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 307, in _get_socket
    self.source_address)
  File "C:\Users\dbou\AppData\Local\Programs\Python\Python37\lib\socket.py", line 727, in create_connection
    raise err
  File "C:\Users\dbou\AppData\Local\Programs\Python\Python37\lib\socket.py", line 716, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

確保您正確訪問郵件服務器IP和端口號。 某些客戶端(如Gmail)不允許您自動發送郵件而不會禁用安全郵件傳輸功能。

此外,您可以在登錄前將這段代碼添加到您的程序中。

 try:
        self.smtp.ehlo()
        self.smtp.starttls()
        self.smtp.ehlo
 except:
        print "No TLS "
 #login here

也許這個鏈接outta幫助了一點: https//superuser.com/questions/1292420/sending-an-email-from-python-using-local-python-smtp-server

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM