2016-07-04 86 views
0
import smtplib 

fromadd = '[email protected]' 
to = fromadd 
data = 'hello' 

server = smtplib.SMTP('www.gmail.com') 
server.ehlo() 
server.starttls() 
server.set_debuglevel(1) 
server.login(fromadd,'pwd') 
server.sendmail(fromadd, to, data) 
server.quit() 

在上面的程序中,我总是得到OSError:[Errno 101]当我执行它时,网络在我的屏幕上是无法到达的错误消息,为什么会发生这种情况以及如何纠正它?为什么我的网络在我的smtp程序中无法访问?

+0

因为'www.gmail.com'不接受电子邮件(甚至smpt连接)。 – marcelm

+0

我希望这不是您真正的电子邮件,xD – u8y7541

回答

0

在您的程序中,您告诉它连接到www.gmail.com,但该域名不是电子邮件服务器,正如我和@marcelm注意到的那样。尝试仅使用gmail.commail.google.com

+0

您的防火墙或ISP仍可能阻止SMTP端口。 – tripleee

+0

@tripleee我还没有听说过防火墙或ISP阻止电子邮件......这太疯狂了。 OP的情况可能不是这样。我假设OP可以在他的网络上访问他的电子邮件。 – u8y7541

+0

作为一种反垃圾邮件措施,出站SMTP与家庭消费者网络阻止几乎相同。由于垃圾邮件制造者(以及)也会中毒,因此基本上无法在家庭ADSL上运行邮件服务器。目前,通过身份验证的SMTP接管不同的端口号),这不是一个问题,但如果您测试需要端口25的代码,则无法工作。 – tripleee