Как проверить наличие адреса электронной почты - PullRequest
1 голос
/ 13 марта 2020

Я отвечаю за разработку приложения, которое должно загружать много пользовательских данных в пакетном режиме. Одной из данных пользователя является адрес электронной почты, и нам нужно, чтобы это письмо действительно существовало для отправки приветственного сообщения.

Итак, как я могу проверить, существует ли адрес электронной почты на самом деле?

Ответы [ 3 ]

1 голос
/ 13 марта 2020

Вы можете проверить формат адреса электронной почты для соответствия 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.

0 голосов
/ 13 марта 2020

Проверка правильности формата адреса электронной почты (например, mailable ) - это одно, но это не говорит о том, что на этом адресе есть почтовый ящик. Единственный способ узнать, существует ли адрес электронной почты, - отправить ему что-нибудь по почте. Если он [в конце концов] подпрыгивает, вы можете быть уверены, что его не существует. В противном случае все, что вы знаете, это то, что чей-то SMTP-сервер принял сообщение.

См. https://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx/

и это:

Как проверить, существует ли адрес электронной почты, не отправляя письмо?

0 голосов
/ 13 марта 2020

Вы можете использовать такой сервис, как EmailChecker (я только что сделал быстрый поиск в Google) , чтобы проверить, действительно ли электронная почта существует.

Чтобы использовать API, вы нужно платить за премию, но вы можете увидеть, как это работает здесь: https://email-checker.net

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...