2013-04-08 57 views
6

Tôi đang sử dụng Flask-Mail trong ứng dụng web nhỏ. Vì ứng dụng nhỏ nên tôi đang sử dụng gmail để gửi email. Sau khi làm theo tất cả các bước trong tài liệu, khi tôi chạy ứng dụng để kiểm tra tính năng email. Tôi tiếp tục nhận được một error: [Errno 111] Connection refused.Flask-Mail - Kết nối bị từ chối [Errno 111]

Đây là khung cảnh của tôi cho email trong config.py tôi:

MAIL_SERVER = 'smtp.gmail.com' 
MAIL_PORT = 587 
MAIL_USE_TLS = True 
MAIL_USERNAME = '[email protected]' 
MAIL_PASSWORD = 'some_password' 
DEFAULT_MAIL_SENDER = '[email protected]' 

Đây là quan điểm tôi đang sử dụng để kiểm tra Flask-Mail trong tôi views.py:

@app.route('/', methods=['POST', 'GET']) 
def index(): 

    form = ContactForm() 

    if request.method == 'POST': 
     if form.validate(): 

      msg = Message('New Msg - Test', 
          recipients=['[email protected]']) 

      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) 

Tôi đã thử nghiệm để xem nếu có là bất kỳ sự cố tường lửa nào như thế này:

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' 

Tôi không thực sự chắc chắn về những gì khiến kết nối bị từ chối. Tôi sẽ đánh giá cao nếu ai đó có thể cho tôi một sự thúc đẩy đúng hướng về làm thế nào để tiếp tục kiểm tra hoặc điểm mà tôi đang làm cho một sai lầm.

Trả lời

1

Tôi đang sử dụng gmail SMTP cho Flask-Mail nhưng với các cài đặt sau. Tôi sử dụng SSL với cổng 465. Có thể điều này sẽ làm việc cho bạn?

MAIL_SERVER = 'smtp.gmail.com' 
MAIL_PORT = 465 
MAIL_USE_TLS = False 
MAIL_USE_SSL = True 
MAIL_USERNAME = '[email protected]' 
MAIL_PASSWORD = 'some_password' 
DEFAULT_MAIL_SENDER = '[email protected]' 
Các vấn đề liên quan