2009-11-03 20:53:26 +08:00
|
|
|
"""
|
|
|
|
Backend for test environment.
|
|
|
|
"""
|
|
|
|
|
|
|
|
from django.core import mail
|
|
|
|
from django.core.mail.backends.base import BaseEmailBackend
|
|
|
|
|
|
|
|
class EmailBackend(BaseEmailBackend):
|
|
|
|
"""A email backend for use during test sessions.
|
|
|
|
|
|
|
|
The test connection stores email messages in a dummy outbox,
|
|
|
|
rather than sending them out on the wire.
|
|
|
|
|
|
|
|
The dummy outbox is accessible through the outbox instance attribute.
|
|
|
|
"""
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
|
super(EmailBackend, self).__init__(*args, **kwargs)
|
|
|
|
if not hasattr(mail, 'outbox'):
|
|
|
|
mail.outbox = []
|
|
|
|
|
|
|
|
def send_messages(self, messages):
|
|
|
|
"""Redirect messages to the dummy outbox"""
|
2012-09-22 21:17:13 +08:00
|
|
|
for message in messages: # .message() triggers header validation
|
|
|
|
message.message()
|
2009-11-03 20:53:26 +08:00
|
|
|
mail.outbox.extend(messages)
|
|
|
|
return len(messages)
|