Я пытаюсь понять, как это работает.
Когда я обычно отправляю и отправляю электронное письмо, а получатель не существует или возникает какая-либо другая ошибка, отправляется электронное письмо, содержащее информацию об ошибке и статусе. Это может занять некоторое время.
Мой вопрос здесь заключается в том, как smtplib может перехватить эту ошибку, если этот ответ занимает время?
Когда я отправляю электронное письмо с использованием smtplib, оно никогда не вызывает исключение SMTPRecipientsRefused. Он просто отправляет электронное письмо и позже, когда нарочно используя недопустимый адрес электронной почты, я получаю сообщение об ошибке «Доставка следующему получателю окончательно не удалась:» в моем почтовом ящике для ответа. Это не помогает мне, так как я пытаюсь очистить базу данных адресов электронной почты от недействительных адресов электронной почты.
Есть функция проверки:
SMTP.verify(address)
Но я не верю, что это реальный вариант. Примечание от Python Docs на VRFY:
«Многие сайты отключают SMTP VRFY, чтобы помешать спамерам.»
Примечание по моей тестовой среде: Я использую django и удаленный SMTP-сервер (gmail / apps).
Q1: Является ли это причиной невозможности отловить ошибку? Должен ли я использовать локальный сервер?
Q2: Есть ли способ сделать это, кроме анализа моих фактических сообщений об ошибках из ящика для ответов на вопросы?
Заранее спасибо за любые мысли по этому поводу!