Вы можете проверить формат адреса электронной почты для соответствия RFC5322 , используя npm email-validator :
const validator = require('email-validator')
...
if (validator.validate('test@email.com')) {
/* email format is correct */
}
Но вы спрашиваете, есть общий и надежный способ узнать у intertoobz, есть ли за каким-либо адресом электронной почты реальный почтовый ящик.
Ответ no , за исключением отправки сообщения в почтовый ящик и запроса получателя. ответить. Существуют ненадежные способы проверки существования почтового ящика, но многие агенты передачи почты не реализуют их. Почему бы нет? Спам.
Коммерческие почтовые службы (Constant Contact, MailChimp, SendGrid) предлагают функции для отправки сообщения в почтовый ящик с просьбой разрешить ему подписку на почтовую службу. Человек за почтовым ящиком обычно отвечает, щелкая гиперссылку. Гиперссылка содержит одноразовый номер - трудно угадываемое случайное значение, которое идентифицирует почтовый ящик. Только после щелчка URL вы можете быть уверены, что адрес существует. Иногда конечных пользователей просят «подтвердить свой адрес электронной почты», используя эту технику.
Эти же службы хороши для отслеживания отказов и отказов электронной почты, поэтому они могут иметь временное представление о том, какие почтовые ящики не делают t существует. У них go много проблем, чтобы избежать отправки нежелательной почты, потому что крупные провайдеры электронной почты (gmail, outlook.com, comcast, charter и т. Д.) Регулярно помещают в черный список серверы, отправляющие электронную почту, чтобы снизить свою спам-нагрузку. Когда вы пользуетесь услугой, вы платите за большую работу по проектированию сети, чтобы предотвратить попадание в черный список.
Вы можете реализовать аналогичную услугу «разрешение на подписку» в своем собственном приложении, но объяснение, как это сделать, выходит за рамки ответа StackOverflow. Не допустить попадания в черный список? Возможно, это очень сложно, если у вас слишком низкий уровень громкости.
Подробнее об этом см. В этом разделе.
Можно ли проверить, существует ли адрес электронной почты, используя. net?
Я использовал бесплатный сервис SendGrid.com, и он работает хорошо. Я также успешно использовал MailChimp.