Django-Mailer создает несколько записей БД с адреса электронной почты

Я только что реализовал django-mailer, так как это лучший способ асинхронной отправки почты из django.

По какой-то причине django-mailer создает запись в БД для каждой буквы адреса электронной почты получателя, причем поле "Кому" содержит одну букву.... Вот скриншот:

http://i.imgur.com/Pqbx3oq.gif

Я обрезал остальные записи, чтобы не показывать полный адрес, но достаточно сказать, что поля "Кому" всех записей дополняют адрес электронной почты пользователя. (Чтобы уточнить, отправка одного электронного письма создает объект для каждого письма адреса электронной почты).

Код, который генерирует почту:

from mailer import send_mail
from notifications.models import EmailNotifications

users_to_email = EmailNotifications.objects.filter(\
                            product=product)
    if users_to_email:
        for user_to_email in users_to_email:
            the_score = self.rating
            user = user_to_email.user
            name = '%s %s' % (str(user.first_name),\
                                    str(user.last_name))
            user_email = user.email
            theSubject = 'Score Notification'
            theMessage = render_to_string('notification-email.txt',
                                   {'the_score': the_score,
                                    'name': name,
                                    'user': user,
                                    'user_email': user_email})
                send_mail(theSubject, theMessage, SERVER_EMAIL,\
                                                        user_email)

Выведение user_email в уведомлении по электронной почте правильно указывается весь адрес электронной почты, поэтому я предполагаю, что это проблема с функцией сохранения django-mailer....?

Очень благодарен за любые указатели.

1 ответ

Решение

Ладно, после всего этого я сам все решил и, конечно, допустил серьезную ошибку.

send_mail требуется список получателей. То, что я должен был сделать, это:

send_mail(subject, message, SERVER_EMAIL, [user_email])

Обратите внимание на квадратные скобки вокруг user_email, чтобы сделать его списком..... Все теперь хорошо.

Другие вопросы по тегам