2015-03-09 3 views
1

Я пишу небольшой скрипт python для отправки электронной почты, но мой код даже не проходит мимо smtp-соединения. Я использую следующий код, но никогда не вижу «Connected». Кроме того, я не вижу исключения, поэтому я думаю, что он что-то висит.Python smtp.connect не подключается

import os 
import platform 
import smtplib 

#Define our SMTP server. We use gmail. Try to connect. 
try: 
    server = smtplib.SMTP() 
    print "Defined server" 
    server.connect("smtp.gmail.com",465) 
    print "Connected" 
    server.ehlo() 
    server.starttls() 
    server.ehlo() 
    print "Complete Initiation" 
except Exception, R: 
    print R 

ответ

0

Порт 465 предназначен для SMTPS; для подключения к SMTPS вам необходимо использовать SMTP_SSL; однако SMTPS is deprecated, и вы должны использовать 587 (с starttls). (Также see this answer about SMTPS and MSA).

Любой из них будет работать: 587 с starttls:

server = smtplib.SMTP() 
print "Defined server" 
server.connect("smtp.gmail.com",587) 
print "Connected" 
server.ehlo() 
server.starttls() 
server.ehlo() 

или 465 с SMTP_SSL.

server = smtplib.SMTP_SSL() 
print "Defined server" 
server.connect("smtp.gmail.com", 465) 
print "Connected" 
server.ehlo() 
Смежные вопросы