2013-03-06 3 views
1

Я написал простое приложение, чтобы проверить, как отправлять электронные письма с помощью SMTP-метода (должен быть SMTP для переноса в различные службы SMTP) с использованием Flask-Mail. Для этого я пытаюсь использовать Mailgun через Heroku, но после долгих проб, ошибок и исследований я по-прежнему не могу получить электронные письма для отправки.Письма не отправляются при использовании Flask-Mail с Heroku и Mailgun

Мой вопрос относится к аналогичному названию на этот вопрос: Flask on Heroku with MailGun config issues, однако я не вижу разрешения в этом вопросе, кроме как использовать API Mailgun, что невозможно для проекта, над которым я работаю.

В настоящее время я колба/колба почты код устанавливается следующим образом (урезанная конечно):

from flask import Flask 
from flask.ext.mail import Mail 
from flask.ext.mail import Message 

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

app.config.setdefault('SMTP_SERVER', environ.get('MAILGUN_SMTP_SERVER')) 
app.config.setdefault('SMTP_LOGIN', environ.get('MAILGUN_SMTP_LOGIN')) 
app.config.setdefault('SMTP_PASSWORD', environ.get('MAILGUN_SMTP_PASSWORD')) 
app.config.setdefault('MAIL_SERVER', environ.get('MAILGUN_SMTP_SERVER')) 
app.config.setdefault('MAIL_USERNAME', environ.get('MAILGUN_SMTP_LOGIN')) 
app.config.setdefault('MAIL_PASSWORD', environ.get('MAILGUN_SMTP_PASSWORD')) 
app.config.setdefault('MAIL_USE_TLS', True) 

def EmailFunction(UserEmail): 
    msg = Message("Hello", 
        sender='[email protected]', 
        recipients=[UserEmail]) 

    msg.html = "<b>testing</b>" 
    mail.send(msg) 
    return msg.html 

@app.route('/EmailTest/') 
def EmailTestPage(): 
    EmailFunction('[email protected]') 
    return 'Email Sent' 

if __name__ == '__main__': 
    app.run(host='0.0.0.0',debug=True) 

ли я что-то отсутствует? И есть ли способ проверить, что происходит неправильно, когда код проходит, и «Отправлено по электронной почте» возвращается, но никакое электронное письмо не отправляется/не появляется, казалось бы.

Спасибо за любую помощь, которую вы можете предоставить!

+1

У вас есть адрес электронной почты для настройки вашего домена? – GangstaGraham

+0

Да, все правильно настроено. Я считаю, что «[email protected]» и «[email protected]» - это настоящие электронные письма, но до сих пор нет радости. Понял, что я пропустил настройку порта, попытаюсь настроить домен и api-ключи, а также –

ответ

1

Похоже, вы не читаете в SMTP-порту. По умолчанию Flask mail, вероятно, пытается использовать 25, в то время как mailgun использует 587.