2013-03-21 7 views
0

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

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

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

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

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

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 в уведомлении-почте дает полный адрес электронной почты правильно, поэтому я предполагаю, что это проблема с Джанго-почтовик функция сохранения ....?

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

ответ

0

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

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

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

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