2010-07-30 2 views
1

Как я могу получить результат отправки электронной почты django send_mail. Я запускаю его локально, я отправляю send_mail на свой адрес электронной почты, и он возвращает True, но письмо не отправлено (потому что у меня нет никакого набора smtp). Но результат Истинный. Как получить реальный результат?django send_mail получить результат

ответ

3

Django использует исключения для обработки проблем с отправкой электронной почты. Значение, возвращаемое send_mail, - это количество отправленных электронных писем.

Если вы не получаете исключение, это может быть один из целого ряда вещей:

  • Вы fail_silently набор в True (по умолчанию False)
  • Вы используете другой адрес электронной почты backend (smtp является значением по умолчанию для 1.2+, единственным вариантом для более ранних версий)
  • Письмо на самом деле отправляется, но что-то не так (сервер электронной почты, плохой адрес электронной почты, папки спама, скрытые почтовые сообщения gmail и т. д.))
4

Использование django-mailer. Он помещает электронные письма в базу данных и использует команду управления cron-jobbed для ее отправки. Это поможет вам отследить эту проблему, улучшить время отклика приложения, а также сделать вашу жизнь проще.

+0

thnx, это интересно. – Evg

1

Я также предлагаю использовать исключения, чтобы узнать, была ли отправлена ​​электронная почта или нет. Если у вас нет времени или возможности настроить почтовый сервер, я бы предложил использовать django + gmail. U может создать «поддельную» учетную запись gmail (создать другую, если у вас уже есть gmail-acc, ее можно «запретить») и использовать ее SMTP в качестве возможности отправки писем, даже если вы работаете с сервером разработки django (например, , локальный). How to is here

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