从Python发送电子邮件抛出SSLError'未知协议'

时间:2015-11-20 06:27:06

标签: python django email flask smtp

我正在发送来自flask-mail的电子邮件但是因为尝试在namecheap或bluehost使用邮件服务器,我收到以下错误:

SSLError: [Errno 1] _ssl.c:510: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

所以现在我正在尝试发送没有烧瓶邮件的电子邮件,但我仍然遇到同样的错误。任何修复? 我的代码如下:

from smtplib import SMTP
smtp = SMTP()

smtp.set_debuglevel(debuglevel)
smtp.connect('xxxxxx', 26)
smtp.login('noreply@xxx.com', 'xxxxxxx')

from_addr = "xxx <noreply@xxx.com>"
to_addr = rec@xxx.com

subj = "hello"
date = datetime.datetime.now.strftime( "%d/%m/%Y %H:%M" )

message_text = "Hello\nThis is a mail from your server\n\nBye\n"

msg = "From: %s\nTo: %s\nSubject: %s\nDate: %s\n\n%s" % ( from_addr, to_addr, subj, date, message_text )

smtp.sendmail(from_addr, to_addr, msg)
smtp.quit()

我的应用程序在Amazon EC2上的Ubuntu 14.04上运行。

感谢。

1 个答案:

答案 0 :(得分:3)

这是为您提供此错误的原因是因为您的邮件服务器不是SMTP服务器。使用Gmail或其他smtp邮件服务发送邮件。尝试通过gmail帐户发送邮件,服务器为smtp.gmail.com,端口为587。首先,您需要configure您的帐户。