2013-08-04 268 views
2

我試圖構建一個可以通過Gmail發送郵件的python腳本。通過smtplib發送電子郵件

當我嘗試連接到Gmail服務器時,出現錯誤Errno 10013

這就是我想要做的事:

gmail_message = smtplib.SMTP('smtp.gmail.com') 
gmail_message.starttls() 
gmail_message.login('[email protected]','xyzpassword') 
gmail_message.sendmail('[email protected]',['[email protected]'], msg.as_string()) 
gmail_message.quit() 

錯誤:

error: [Errno 10013] An attempt was made to access a socket in a way forbidden by its access permissions 

我能做些什麼來解決這個問題?

+1

你有沒有嘗試給出的解決方案[這裏](http://social.technet.microsoft.com/Forums/windows/en-US/e0cc1b3e-2c63-451a-abc8-8e1e66a23287/an-attempt-was-made -to-訪問一個插座-IN-A-方式,禁止按它的存取權限)? –

回答

1

您可能需要

gmail_message = smtplib.SMTP(host='smtp.gmail.com', port=587) 
+0

我得到了同樣的錯誤,我將端口號更改爲25,仍然是同樣的事情。 –

+0

您使用的是什麼操作系統?也許您無權打開套接字發送電子郵件。 – flyingfoxlee

+0

我使用Windows 7 –

0

指定端口爲我工作Win7上這是代碼。這與你的非常相似。

server = smtplib.SMTP('smtp.gmail.com:587') 
server.starttls() 
server.login(username,password) 
for comp in comps: 
    msg = "Subject:CommenceSweep:Comp%s-%s\n\n" % (comp,sweep) 
    server.sendmail(fromaddr, toaddrs, msg) 
server.quit() 

注意:您是否正確配置Gmail以允許SMTP?

+0

我沒有配置Gmail,但我在Ubuntu上試過我的上述代碼,它工作正常。變量'comps'和'sweep'是什麼? –

+0

他們只是字符。對不起,我用它來做我的一個項目。他們只是普通的字符串。 msg只是一個字符串。我很確定你需要配置Gmail,除非你已經完成了。因爲沒有它,gmail會拒絕我的連接。 – sihrc