Я разрабатываю приложение с помощью Django. В forms.py , где хранятся классы для моих форм, я написал чистую функцию для проверки того, что все электронные письма, введенные в текстовое поле, соответствуют правильному формату (person@site.com).
В этой чистой функции я создаю сообщение электронной почты с объектом EmailMessage:
def clean_recipients(self):
rec = self.data['recipients'].split(",")
recList = []
for recipient in rec:
reci = str.strip(str(recipient))
recList.append(reci)
message = (self.data['subject'], self.data['message'], 'hi@world.com', recList)
mail = EmailMessage(self.data['subject'], self.data['message'], 'from@somebody.com', ['email_list@mysite.org'], recList)
try:
mail.send(fail_silently=False)
except Exception:
raise forms.ValidationError('Please check inputted emails for validity.')
return self.data['recipients']
Однако, исключение 'Пожалуйста, проверьте правильность введенных писем.' никогда не появляется в форме независимо от того, что я ввел в текстовое поле. Если я введу случайные символы в текстовое поле, просто сообщение не будет отправлено.
Как правильно перехватить письмо, если оно не было отправлено?
Спасибо.