无法使用python发送电子邮件

时间:2012-09-25 09:29:10

标签: python email smtplib

目前我们有一台服务器(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

我是否需要在服务器上执行任何操作才能让脚本发送电子邮件?

由于

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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