2013-07-01 17 views
6

Mam problem z wysyłaniem wiadomości e-mail ze skrzynki poczty elektronicznej (http://pythonhosted.org/flask-mail/)Wysyłanie poczty z kolbą-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" 

Kiedy idę do/MINFO uzyskać

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 

nie mam pojęcia, co łamie się lub jak to naprawić, prowadzono go przez kilka godzin. Czy ktoś tego doświadczył?

Odpowiedz

8
  1. Musisz skonfigurować kolby config:

    app = Flask(__name__) 
    app.config.from_object(__name__) 
    mail = Mail(app) 
    
  2. Zastosowanie 465 portu.

+0

Dziękujemy! Miałem app.config.from_object (__ name__) poniżej mail = Mail (app) i poruszałem się tak, jak pokazałeś. Teraz otrzymuję wiadomość, ale nigdy nie otrzymuję wiadomości e-mail:/ – ArniReynir

+0

Okazało się, że był błąd. Więc problem rozwiązany przy użyciu rozwiązania. Dziękuję Ci! – ArniReynir

1

MAIL_USE_TLS = True następnie użyć 587 portów MAIL_USE_SSL = true następnie użyć portu 465

+0

Te wartości portów działały dla nas z odpowiednim zestawem flag. Nie wiem, dlaczego zostało to odrzucone. – abathur

-1

ja też mam ten sam problem, a ja również za pomocą skrzynkowego poczty, faktycznie było częścią pakietu Kolba użytkowników. Włączyłem port TLS, ponieważ mój serwer pocztowy korzystał z protokołu TLS. Wyłączam SSL. Zmieniam także port 465 na 587 z Kod mojej aplikacji jest następujący:

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)) 

Ta zmiana rozwiązała mój problem.

+0

Czy to rozwiązało problem, czy też nadal masz problem? – Mogsdad

+0

mój problem został rozwiązany po moich zmianach –

+0

To nie jest jasne w twojej odpowiedzi - może powinieneś [edytuj] to powiedzieć. – Mogsdad

Powiązane problemy