连接到 SMTP 服务器失败 Linux 但不是 Windows
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
是什么导致了这种差异?我的 Google 搜索没有太多结果,但也许我只是在搜索错误的术语。
TimeoutError: [Errno 110] Connection timed out
这意味着对远程系统的访问可能在访问系统的途中某处被阻止。鉴于您在 "Linux VPS" 上遇到此问题,很可能连接被托管此 VPS 的公司阻止,或者您需要专门配置您的计算机以允许此类访问。请咨询您的特定托管商及其文档。
在 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
是什么导致了这种差异?我的 Google 搜索没有太多结果,但也许我只是在搜索错误的术语。
TimeoutError: [Errno 110] Connection timed out
这意味着对远程系统的访问可能在访问系统的途中某处被阻止。鉴于您在 "Linux VPS" 上遇到此问题,很可能连接被托管此 VPS 的公司阻止,或者您需要专门配置您的计算机以允许此类访问。请咨询您的特定托管商及其文档。