Каков наилучший подход для уведомления пользователя по электронной почте, когда происходит событие - django - PullRequest
1 голос
/ 22 марта 2012

Допустим, пользователь x отправляет сообщение пользователю y на веб-сайте. Пользователь y получил уведомление на веб-сайте, но не получил по электронной почте об этом.

Единственное, что я думаю для решения этой проблемы, - это вставить некоторый код для отправки электронного письма пользователю y после кода, где пользователь x отправляет сообщение пользователю y.

def send_msg(request)
    #request.user sends message to other_user
    #send email to other_user and let him know about his new message

Я не знаю, насколько хорош этот подход с точки зрения производительности.

Что ты думаешь? Как бы вы подошли к этому?

Ответы [ 2 ]

0 голосов
/ 22 марта 2012

Создание сигнала post_save для отправки электронного письма после сохранения сообщения в модели будет одним из решений.Хотя для производительности было бы рекомендовано решение для очереди электронной почты.

0 голосов
/ 22 марта 2012

Для производительности вы можете использовать django-mailer .django-mailer предоставляет почтовый сервер, который ставит электронные письма в очередь, а не отправляет их напрямую.Затем электронные письма отправляются заданием cron , которое вы должны настроить, запустив manage.py send_mail.

Также вы можете использовать приложение django-messages , оно имеетхороший шаблон для уведомлений по электронной почте + позволяет пользователю проверять / снимать отметки с типов уведомлений, которые он / она хочет / не хочет получать по электронной почте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...