2013-04-08 4 views
6

작은 웹 응용 프로그램에서 Flask-Mail을 사용하고 있습니다. 신청이 작기 때문에 나는 전자 우편을 보내기 위하여 gmail를 사용하고있다. 전자 메일 기능을 테스트하기 위해 응용 프로그램을 실행할 때 설명서의 모든 단계를 수행 한 후. 나는 계속 error: [Errno 111] Connection refused을 얻는다.Flask-Mail - Connection Refused [Errno 111]

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]' 

이 내가 views.py 내에서 플라스크 메일을 테스트하기 위해 사용하고있는이다 :

이 내 config.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) 

나는 시험이 다음과 같은 방화벽 문제가있었습니다.

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' 

정말 잘 모르겠습니다. 연결이 거절되는 원인. 누군가가 나에게 올바른 방향으로 밀고 나아가 테스트하는 방법이나 실수를하는 곳을 지적 할 수 있다면 고맙겠습니다.

답변

1

Flask-Mail에는 gmail SMTP를 사용하고 있지만 다음과 같은 설정이 있습니다. 나는 465 번 포트로 SSL을 사용한다.

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]' 
관련 문제