2013-07-01 17 views
6

Ich habe Probleme mit E-Mail-Kolben-Mail (http://pythonhosted.org/flask-mail/) Sendenmit Flask-Mail senden Mail

from flask.ext.sqlalchemy import SQLAlchemy 
from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash 
from flask.ext.mail import Mail, Message 
import os 

# configuration 
DEBUG = True 
SECRET_KEY = 'hidden' 
USERNAME = 'secret' 
PASSWORD = 'secret' 

MAIL_SERVER='smtp.gmail.com' 
MAIL_PORT=587 
MAIL_USE_TLS = False 
MAIL_USE_SSL= True 
MAIL_USERNAME = '[email protected]' 
MAIL_PASSWORD = 'password' 

app = Flask(__name__) 
mail = Mail(app) 

@app.route('/minfo') 
def send_mail(): 
    msg = Message(
     'Hello', 
     sender='[email protected]', 
     recipients= 
     ['[email protected]']) 
    msg.body = "This is the email body" 
    mail.send(msg) 
    return "Sent" 

Als ich/MINFO gehen bekomme ich

12:25:57 web.1 |  return socket.create_connection((port, host), timeout) 
12:25:57 web.1 | File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 571, in create_connection 
12:25:57 web.1 |  raise err 
12:25:57 web.1 | error: [Errno 61] Connection refused 

Ich habe keine Ahnung, was bricht oder wie man es repariert, stundenlang gegoogelt hat. Hat jemand das erlebt?

Antwort

8
  1. Sie müssen Kolben Config einrichten:

    app = Flask(__name__) 
    app.config.from_object(__name__) 
    mail = Mail(app) 
    
  2. Verwenden 465 Port.

+0

Danke! Ich hatte app.config.from_object (__ name__) unter mail = Mail (app) und bewegt, wie du gezeigt hast. Jetzt werde ich geschickt, bekomme aber nie die Email:/ – ArniReynir

+0

Herausgefunden, da war ein Tippfehler. Also Problem gelöst mit Ihrer Lösung. Vielen Dank! – ArniReynir

1

MAIL_USE_TLS = True dann 587 MAIL_USE_SSL Port verwenden = True dann verwenden 465 Port

+0

Diese Port-Werte funktionierten für uns beide mit dem jeweiligen gesetzten Flag. Nicht sicher, warum dies abgelehnt wurde. – abathur

-1

ich auch gleiche Problem, und ich war auch Flask-Mail verwenden, ist es eigentlich ein Teil von Flask-User-Paket war. Ich habe den TLS-Port aktiviert, da mein Mail-Server TLS verwendet hat. Ich deaktiviere SSL. Ich ändere auch den Port 465 zu 587 von Der Code meiner Anwendung ist wie folgt:

MAIL_PORT =   int(os.getenv('MAIL_PORT',   '587')) 
MAIL_USE_SSL =  int(os.getenv('MAIL_USE_SSL',   False)) 
MAIL_USE_TLS =  int(os.getenv('MAIL_USE_TLS',   True)) 

Diese Änderung löste mein Problem.

+0

Hat das das Problem behoben, oder sagen Sie, dass Sie immer noch das Problem haben? – Mogsdad

+0

mein Problem wurde nach meinen Änderungen gelöst –

+0

Das ist nicht klar in Ihrer Antwort - vielleicht sollten Sie [edit] es sagen. – Mogsdad