我正在使用Flask-Mail在小型web应用程序中。由于应用程序很小,所以我使用gmail发送电子邮件。在执行完文档中的所有步骤后,当我运行应用程序来测试电子邮件功能时。我一直在买error: [Errno 111] Connection refused。
这是我在config.py中的电子邮件设置
MAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 587
MAIL_USE_TLS = True
MAIL_USERNAME = 'some_user@gmail.com'
MAIL_PASSWORD = 'some_password'
DEFAULT_MAIL_SENDER = 'some_user@gmail.com'这是我在views.py中用来测试Flask-Mail的视图
@app.route('/', methods=['POST', 'GET'])
def index():
form = ContactForm()
if request.method == 'POST':
if form.validate():
msg = Message('New Msg - Test',
recipients=['some_user@gmail.com'])
msg.body = 'name=%s, email=%s \n Message:%s' % (form.name.data,
form.email.data,
form.message.data)
mail.send(msg)
flash('Message sent, I will contact you soon! Thanks')
return redirect(url_for('index'))
return render_template('index.html', form=form)我测试了一下是否存在这样的防火墙问题:
In [2]: import socket
In [3]: sock = socket.socket()
In [4]: sock.connect(("smtp.gmail.com", 587))
In [5]: sock.send("EHLO\n")
Out[5]: 5
In [6]: sock.recv(1024)
Out[6]: '220 mx.google.com ESMTP b9sm23940776vee.3 - gsmtp\r\n250-mx.google.com at your service, [108.21.9.10]\r\n250-SIZE 35882577\r\n250-8BITMIME\r\n250-STARTTLS\r\n250 ENHANCEDSTATUSCODES\r\n'我真的不确定是什么原因导致连接被拒绝。如果有人能给我一个正确的方向,如何进一步测试或指出我在哪里犯了错误,我将不胜感激。
发布于 2013-04-09 00:41:57
我使用的是gmail SMTP for Flask-Mail,但设置如下。我使用端口为465的SSL。也许这对你有用?
MAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 465
MAIL_USE_TLS = False
MAIL_USE_SSL = True
MAIL_USERNAME = 'some_user@gmail.com'
MAIL_PASSWORD = 'some_password'
DEFAULT_MAIL_SENDER = 'some_user@gmail.com'https://stackoverflow.com/questions/15881277
复制相似问题