簡體   English   中英

在 Linux 但不是 Windows 上連接到 SMTP 服務器失敗

[英]Connecting to SMTP server failing on Linux but not Windows

在 python 腳本中,我有以下內容:

with smtplib.SMTP_SSL(sender_server, 465, context=context) as server:
    server.login(sender_email, sender_password)
    server.sendmail(
        sender_email, email, message.as_string()
    )

在我編寫腳本的 Windows 機器上,一切都按預期進行,電子郵件的發送和交付沒有問題。 但是,當我嘗試在 Linux VPS 上運行相同的代碼時,每次都會拋出 TimeoutError。

Traceback (most recent call last):
  File "script.py", line 151, in <module>
    with smtplib.SMTP_SSL(sender_server, 465, context=context) as server:
  File "/usr/lib/python3.6/smtplib.py", line 1031, in __init__
    source_address)
  File "/usr/lib/python3.6/smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/lib/python3.6/smtplib.py", line 336, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/lib/python3.6/smtplib.py", line 1037, in _get_socket
    self.source_address)
  File "/usr/lib/python3.6/socket.py", line 724, in create_connection
    raise err
  File "/usr/lib/python3.6/socket.py", line 713, in create_connection
    sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out

什么可能導致這種差異? 我的谷歌搜索並沒有產生多少成果,但也許我只是在搜索錯誤的術語。

TimeoutError: [Errno 110] 連接超時

這意味着對遠程系統的訪問可能在通往系統的途中被阻止。 鑒於您在“Linux VPS”上遇到此問題,連接可能被托管此 VPS 的公司阻止,或者您需要專門配置您的機器以允許此類訪問。 請咨詢您的特定托管商及其文檔。

暫無
暫無

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

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