2 Email backend that writes messages to console instead of sending them.
7 from django
.core
.mail
.backends
.base
import BaseEmailBackend
9 class EmailBackend(BaseEmailBackend
):
10 def __init__(self
, *args
, **kwargs
):
11 self
.stream
= kwargs
.pop('stream', sys
.stdout
)
12 self
._lock
= threading
.RLock()
13 super(EmailBackend
, self
).__init
__(*args
, **kwargs
)
15 def send_messages(self
, email_messages
):
16 """Write all messages to the stream in a thread-safe way."""
17 if not email_messages
:
21 stream_created
= self
.open()
22 for message
in email_messages
:
23 self
.stream
.write('%s\n' % message
.message().as_string())
24 self
.stream
.write('-'*79)
25 self
.stream
.write('\n')
26 self
.stream
.flush() # flush after each message
30 if not self
.fail_silently
:
34 return len(email_messages
)