2013-06-22 5 views
0

Я пытаюсь отправить электронное письмо через учетную запись gmail, используя python 2.7. Мой код ниже, любая помощь приветствуется! Я получаю:Errno 10060 python отправка электронной почты через gmail

Errno 10060- Попытка подключения не удалась, поскольку связное сторона не должным образом реагировать после определенного периода времени ...

import smtplib 

FROMADDR = "[email protected]" 
LOGIN = FROMADDR 
PASSWORD = "mypassword" 
TOADDRS = "[email protected]" 
msg = "Test message" 
server = smtplib.SMTP('smtp.gmail.com', 25, timeout=120) 
server.set_debuglevel(1) 
server.ehlo() 
server.starttls() 
server.ehlo() 
server.login(LOGIN, PASSWORD) 
server.sendmail(FROMADDR, TOADDRS, msg) 
server.quit() 
print "E-mail succesfully sent" 

ответ

0

Это тайм-аута, потому что вы подключаетесь на порт for email routing between servers вместо порта mail submission agent. Он отлично работал для меня при использовании порта 587:

>>> import smtplib 
>>> server = smtplib.SMTP('smtp.gmail.com',587) 
>>> server.ehlo() 
(250, 'mx.google.com at your service, [99.178.174.213]\nSIZE 35882577\n8BITMIME\nSTARTTLS\nENHANCEDSTATUSCODES') 
>>> server.starttls() 
(220, '2.0.0 Ready to start TLS') 
>>> server.ehlo 
<bound method SMTP.ehlo of <smtplib.SMTP instance at 0x1e518c0>> 
>>> server.login('xxxxxxxxxxxx','xxxxxxxx') 
(235, '2.7.0 Accepted') 
>>> msg = "test message" 
>>> server.sendmail('[email protected]','[email protected]',msg) 
{} 
>>> server.quit() 
(221, '2.0.0 closing connection xxxxxxxxxxxxx.x - gsmtp') 
+0

Это еще одна проблема - сетевой брандмауэр, с которым я не могу связаться, чтобы подключиться к другому серверу. Это также приводит к отключению времени. Мой код отлично работает и отправляет электронные письма дома, но не работает. Какие-нибудь легкие способы обойти это, о котором вы можете думать? Благодаря! –