Python: ao enviar email, sempre bloqueado na cláusula: smtpserver = smtplib.SMTP (“smtp.gmail.com”, 587)

Estou escrevendo um programa em Python para enviar um email. Mas toda vez que ao executar a cláusula:

smtpserver = smtplib.SMTP("smtp.gmail.com",587)

ele bloqueará aqui e sempre manterá o status de execução sem nenhum aviso ou erro. Eu não sei porque. E alguém pode me ajudar?

O código é o seguinte: import smtplib

to = '[email protected]'
gmail_user = '[email protected]'
gmail_pwd = 'password'
smtpserver = smtplib.SMTP("smtp.gmail.com",587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
smtpserver.login(gmail_user, gmail_pwd)
header = 'To:' + to + '\n' + 'From: ' + gmail_user + '\n' + 'Subject:testing \n'
print header
msg = header + '\n this is test msg from mkyong.com \n\n'
smtpserver.sendmail(gmail_user, to, msg)
print 'done!'
smtpserver.close()

questionAnswers(3)

yourAnswerToTheQuestion