|
|
|
@ -71,6 +71,8 @@ from emencia.django.newsletter.settings import \ |
|
|
|
|
|
|
|
|
|
|
|
import HTMLParser |
|
|
|
import HTMLParser |
|
|
|
import chardet |
|
|
|
import chardet |
|
|
|
|
|
|
|
import redis |
|
|
|
|
|
|
|
from redis_collections import List |
|
|
|
|
|
|
|
|
|
|
|
from theme.models import Theme |
|
|
|
from theme.models import Theme |
|
|
|
|
|
|
|
|
|
|
|
@ -651,9 +653,16 @@ class Mailer(NewsLetterSender): |
|
|
|
# if self.verbose: |
|
|
|
# if self.verbose: |
|
|
|
# print '%i emails will be sent' % number_of_recipients |
|
|
|
# print '%i emails will be sent' % number_of_recipients |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r = redis.StrictRedis() |
|
|
|
|
|
|
|
|
|
|
|
# FIXME: Временно сделана отправка только 1 письма. |
|
|
|
# FIXME: Временно сделана отправка только 1 письма. |
|
|
|
# См FIXME в команде send_newsletter |
|
|
|
# См FIXME в команде send_newsletter |
|
|
|
for i, contact in enumerate(expedition_list, 1): |
|
|
|
for i, contact in enumerate(expedition_list, 1): |
|
|
|
|
|
|
|
l = List(key='newsletter_sending_contacts', redis=r) |
|
|
|
|
|
|
|
if contact.pk in l: |
|
|
|
|
|
|
|
continue |
|
|
|
|
|
|
|
l.append(contact.pk) |
|
|
|
|
|
|
|
|
|
|
|
print 'sending to contact: %s, %s (%s)' % (contact.pk, contact.email, timezone.now()) |
|
|
|
print 'sending to contact: %s, %s (%s)' % (contact.pk, contact.email, timezone.now()) |
|
|
|
send = True |
|
|
|
send = True |
|
|
|
# if self.verbose: |
|
|
|
# if self.verbose: |
|
|
|
@ -700,6 +709,8 @@ class Mailer(NewsLetterSender): |
|
|
|
self.smtp.quit() |
|
|
|
self.smtp.quit() |
|
|
|
self.smtp_connect() |
|
|
|
self.smtp_connect() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
l.remove(contact.pk) |
|
|
|
|
|
|
|
|
|
|
|
# маркируем оставшиеся контакты на второй этап |
|
|
|
# маркируем оставшиеся контакты на второй этап |
|
|
|
self.mark_contacts_for_second_stage() |
|
|
|
self.mark_contacts_for_second_stage() |
|
|
|
|
|
|
|
|
|
|
|
|