Files
pretix_original/src/pretix/base/email.py
2016-06-06 23:07:49 +02:00

27 lines
976 B
Python

import logging
from smtplib import SMTPRecipientsRefused, SMTPSenderRefused
from django.core.mail.backends.smtp import EmailBackend
logger = logging.getLogger('pretix.base.email')
class CustomSMTPBackend(EmailBackend):
def test(self, from_addr):
try:
self.open()
self.connection.ehlo_or_helo_if_needed()
self.connection.rcpt("test@example.org")
(code, resp) = self.connection.mail(from_addr, [])
if code != 250:
logger.warn('Error testing mail settings, code %d, resp: %s' % (code, resp))
raise SMTPSenderRefused(code, resp, from_addr)
senderrs = {}
(code, resp) = self.connection.rcpt('test@example.com')
if (code != 250) and (code != 251):
logger.warn('Error testing mail settings, code %d, resp: %s' % (code, resp))
raise SMTPRecipientsRefused(senderrs)
finally:
self.close()