2015-06-11 207 views
0

我从here得到了一个简单的SMTP邮件示例,并对其进行了修改。我的代码是:SMTP发送邮件失败

import smtplib 
sender = '[email protected]' 
receivers = ['[email protected]'] 
message = """From: From Igor <[email protected]> 
To: To Igor Savinkin <[email protected]> 
Subject: SMTP e-mail test 
This is a test e-mail message from SMTP python. 
""" 

try: 
    smtpObj = smtplib.SMTP('localhost') 
    smtpObj.sendmail(sender, receivers, message)   
    print "Successfully sent email to " + receivers.__str__() 
except SMTPException: 
    print "Error: unable to send email" 

输出是:

成功发送电子邮件至[ '[email protected]']

然而,在现实中我没有发现类似的邮件这些在我的收件箱中。垃圾邮件文件夹也被检查! 有什么问题?我使用rhc(OpenShift)平台。

+0

它在普通的linux服务器上为我工作 – duck

+0

由于您使用的是更受限制的环境(openshift),也许smtp端口25被阻止。检查iptables。 – duck

+0

我使用'except Exception,e:'并打印出来,它显示'[Errno 10061]因为目标机器主动拒绝而无法建立连接'我的机器是windows机器 – The6thSense

回答

2

您将邮件发送到本地SMTP服务器(smtpObj = smtplib.SMTP('localhost'))。恕我直言,它接受它(请求在语法上是正确的),但不允许(或未配置)将其转发给Gmail。我没有使用OpenShift,所以我不知道SMTP是如何配置的。

您应该控制如何配置本地SMTP服务器。

+0

发送邮件很可能是这种情况 –