2013-04-08 46 views
6

私は小さなWebアプリケーションでFlask-Mailを使用しています。アプリケーションが小さいので、私は電子メールを送信するためにgmailを使用しています。ドキュメントのすべての手順を実行した後、電子メール機能をテストするためにアプリケーションを実行したとき。私はerror: [Errno 111] Connection refusedを取得し続けます。Flask-Mail - 接続が拒否されました[Errno 111]

これは私のconfig.pyにおける電子メールのための私の設定です:

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でフラスコメールをテストするために使用しています図である。

@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]' 
関連する問題