0

目前我们有一个服务器(Windows 2003 sp2),它在夜间运行 python 脚本,然后通过电子邮件向我们发送脚本是否正确运行,我将这些脚本转移到一个新服务器(也是 Windows 2003 SP2),但是当脚本尝试使用smtplib 模块,我在 pythonwin IDE 中收到以下错误。

  File "D:\Python26\ArcGIS10.0\lib\smtplib.py", line 239, in __init__
    (code, msg) = self.connect(host, port)
  File "D:\Python26\ArcGIS10.0\lib\smtplib.py", line 296, in connect
    (code, msg) = self.getreply()
  File "D:\Python26\ArcGIS10.0\lib\smtplib.py", line 340, in getreply
    raise SMTPServerDisconnected("Connection unexpectedly closed")
SMTPServerDisconnected: Connection unexpectedly closed

我需要在服务器上做些什么来让脚本发送电子邮件吗?

谢谢

4

2 回答 2

3

如果 python 代码在以前的服务器上运行,则 python 代码本身不太可能有问题。我建议使用 telnet 会话对基本电子邮件发送功能进行故障排除,以验证一切正常。以下 URL 提供了使用 telnet 测试 SMTP 功能的示例:

问题可能与运行 python 代码的服务器或电子邮件服务器本身的防火墙相关。问题也可能是邮件服务器本身的配置被配置为仅接受来自某些系统的传出电子邮件。

于 2012-09-25T10:22:23.970 回答
1

一个连接问题,而不是代码问题,因此您的评论说“防火墙已关闭”没有帮助。服务器是否已启动并正在运行?它正在侦听的端口是否可以从外部访问?客户端是否允许连接到服务器的 IP 地址?是否允许连接到指定的端口?客户端和服务器之间是否有其他网络设备可能会干扰?您确实必须考虑客户端和服务器之间网络的每个部分。

于 2012-09-25T10:45:24.217 回答