2016-12-06 14 views
0

Я пытаюсь написать скрипт python3, который отправит мне электронное письмо с вложением pdf. Я после video tutorial и создали сервер SMTP OBJ следующим образом:python3 smtplib, создающий smtp-сервер obj очень медленно

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:01:18) [MSC v.1900 32 bit (Intel)] on win32 
Type "copyright", "credits" or "license()" for more information. 

>>> import smtplib 
>>> server=smtplib.SMTP('smtp.gmail.com',587) 

Это где код зависаний, и я не знаю, почему. Я попытался включить тайм-аут ниже 5 секунд, и он все еще висит более 5 секунд.

>>> import smtplib 
>>> server=smtplib.SMTP('smtp.gmail.com',587,5) 

ping smtp.gmail.com 
Reply from 173.194.200.108: bytes=32 time=35ms TTL=41 
Reply from 173.194.200.108: bytes=32 time=35ms TTL=41 

telnet smtp.gmail.com 587 
Trying 173.194.200.109... 
Connected to smtp.gmail.com. 
Escape character is '^]'. 

Я исключил следующее: Я могу свистеть smtp.gmail.com, который реагирует довольно быстро. IMAP в gmail уже включен. Я не думаю, что это IDE, я пробовал как IDLE, так и VS Code, и это тот же результат. Я могу также telnet на smtp.gmail.com на порту 587, поэтому брандмауэр мудрый, я в порядке. Это также не вопрос запуска IDE в режиме администратора. Я посмотрел на pydoc для smtplib, и моя команда должна работать, кажется.

Так что я понятия не имею, что происходит. Кто-нибудь видел это раньше?

EDIT: Я пробовал его на Python2, так же как и это поведение одно и то же. EDIT2: Я провел тест, используя wirehark. Я вижу трехминутное рукопожатие tcp между мной и почтовым сервером smtp. Но после этого не было общения.

+0

Вы пробовали на python2.7? или любой версии python2? –

+0

нет Я еще не пробовал. Я также пытался использовать поддельное имя хоста вместо gmail smtp, и я получаю такую ​​же реакцию. –

+0

просто попробовал 2.7, тот же результат. –

ответ

0

локализованный внутренний брандмауэр в корпоративном офисе - это то, что блокирует это от работы.