Ticket #10355: demo_backend_mailer.py

File demo_backend_mailer.py, 1.1 KB (added by Andi Albrecht, 15 years ago)

Demo backend: django-mailer

Line 
1from django.core.mail.backends.base import BaseEmailBackend
2from django.utils.encoding import force_unicode
3
4from mailer import PRIORITY_MAPPING
5from mailer.models import Message
6
7
8class EmailBackend(BaseEmailBackend):
9
10 def __init__(self, *args, **kwds):
11 if 'priority' in kwds:
12 self.priority = kwds.pop('priority')
13 else:
14 self.priority = 'medium'
15 super(EmailBackend, self).__init__(*args, **kwds)
16
17 def _store_message(self, message):
18 subject = force_unicode(message.subject)
19 priority = PRIORITY_MAPPING[self.priority]
20 for to_address in message.recipients():
21 Message(to_address=to_address,
22 from_address=message.from_email,
23 subject=subject,
24 message_body=message.body,
25 priority=priority).save()
26
27 def send_messages(self, email_messages):
28 num_sent = 0
29 for message in email_messages:
30 try:
31 self._store_message(message)
32 num_sent += 1
33 except:
34 if not self.fail_silently:
35 raise
36 return num_sent
Back to Top