2013-07-31 2 views
7

Все, я пытаюсь настроить флэшку для отправки уведомлений по электронной почте, когда пользователь регистрируется. Я не получаю сообщений об ошибках из сценария, используемого для отправки электронной почты, но ничто фактически не отправляется, или, по крайней мере, ничего не получают.Flask-Mail не отправляет электронные сообщения, не сообщается об ошибке

Есть ли файл журнала, который может показать, было ли отправлено электронное письмо, отклонено или, может быть, возникла проблема с протоколом на сервере? Как отслеживать эту проблему?

Любые идеи здесь?

ответ

18

Flask-Emailsmtplib который может установить уровень отладки: https://github.com/mattupstate/flask-mail/blob/master/flask_mail.py#L139. Вы можете установить его с помощью MAIL_DEBUG = True или DEBUG = True. Также проверьте, что MAIL_SUPPRESS_SEND = False и TESTING = False.

С отладкой я могу видеть в stdout почты прогрессе: успех, неудача, получатели и т.д.

Подробнее: http://pythonhosted.org/Flask-Mail/#configuring-flask-mail.

0

tbicr имеет наиболее вероятное исправление, сначала проверьте MAIL_SUPPRESS_SEND.

Что в конечном итоге сжигая меня (будучи новым для колбы) является то, что при создании экземпляра вашей почты() объекта, убедитесь, что это после вы установили свои значения App.config. Объект Mail() не возвращается и смотрит на эти значения после факта, поэтому они будут по умолчанию ошибочными. Расстраивает то, что вы не увидите никаких ошибок при попытке отправить сообщения со значениями по умолчанию/плохой. По крайней мере, не о моей публикации.

0

Я знаю, что это сообщение было опубликовано некоторое время назад, но я просто столкнулся с той же проблемой. Как упоминалось в @tbicr, убедитесь, что app.testing установлено на False. Как говорится в Flask-Mail документы here:

«Если установка TESTING установлен в True, электронная почта будет подавлено Вызов send() на ваши сообщения не приведут любые сообщения были фактически отправлены.».

Это была моя проблема. Я внедрил Google reCAPTCHA в одну из моих форм, и app.testing был установлен в True, поэтому мне не приходилось каждый раз ударять коробку reCAPTCHA. Удалив app.testing или установив его на False, электронные письма были отправлены.

Смежные вопросы