Я пытаюсь проверить 2 000 адресов электронной почты, чтобы видеть, существуют ли они. Там пути состоят в том, чтобы проверить, допустим ли адрес электронной почты, не посылая электронное письмо каждому адресу?.
Я нашел онлайн-сервис Email Unlimited, но она только проверяет 20 адресов электронной почты прежде, чем иметь необходимость купить полную версию.
Только ради полноты: некоторые серверы SMTP действительно указывают, существует ли адрес электронной почты. Следование полному примеру в другом ответе:
telnet gmail-smtp-in.l.google.com 25
helo example.com
mail from: <me@example.com>
rcpt to: <somenonexistinguser@gmail.com>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1 http://mail.google.com/support/bin/answer.py?answer=6596
На успех, и на серверах, которые не могут или не хотеть говорить, допустим ли адрес, уступила бы последняя команда:
250 2.1.5 OK
Можно было затем просто вызвать quit
не посылая электронного письма вообще. Однако, при попытке многих адресов это могло бы также заблокировать Вас.
(Gmail не поддерживает vrfy
команда. На веб-сайте это также имеет "кнопку" доступности проверки при регистрировании нового аккаунта Gmail. Это могло также дать Вам некоторую информацию, но старые адреса будут недоступны в течение некоторого времени.)
Если бы это было возможно, то спаммеры во всем мире пели бы от радости.
Извините, но не, не возможно знать, существует ли какой-либо данный адрес электронной почты или нет.
По-моему, это - функция!
Лучшее, которое можно сделать, должно отослать электронное письмо в список и затем удалить тех, которые возвращаются (= те, которые не могли быть поставлены).
Будьте осторожны! В некоторых странах это недопустимо, чтобы отправить незапрашиваемую массовую рассылку по электронной почте людям, которые явно не позволили это заранее.
Действительно нет никакого хорошего способа сделать так. В протоколе SMTP существует команда 'VRFY', но я не знаю никого, кто позволяет, которые больше работают - это слишком полезно для спаммеров. Большинство хостов будет просто больше отказываться от команды.
Лучшее, которое можно сделать прямо сейчас, должно послать электронное письмо и записать, какие возвраты (замечание, что некоторые почтовые узлы просто поместят недоставленную почту в черный список вместо того, чтобы возвратить его).
Я не знаю то, что Ваш бизнес или цель с этим списком, но необходимо знать, что, если Вы идете, посылая электронное письмо 2 000 человек сразу, Вы, вероятно, будете отмечены как спаммер некоторыми почтовыми узлами.
Не возможно точно определить, действителен ли адрес или не - какой-либо продукт, который требует этого, банка преувеличивает свои способности, таким образом, необходимо считать любые другие требования сделанными циничным глазом.
Существуют существующие библиотеки F/OSS, которые делают столько же, сколько возможно сделать: Я предположил бы, что большая часть программного обеспечения на рынке является просто необычной оберткой вокруг тех так, Вы могли, возможно, легко сделать свое собственное, которое столь же хорошо/плохо, если у Вас есть опыт кодирования. Но помните, что, неважно, то, насколько хороший стандартная программа проверки - это, будет очень склонным для предоставления и ложных положительных и ложных отрицательных результатов.
http://freshmeat.net/projects/emailaddressvalidationcomponent, например, подходит на быстром поиске fo freshmeat и предположении, что описание корректно, оно делает все, что может на самом деле быть сделано для попытки, проверяют адрес.
Можно проверить с помощью ping-запросов адрес электронной почты.
Из Lifehacker.com:
http://lifehacker.com/5697360/how-to-verify-if-an-email-address-is-real-or-fake
Когда Вы посылаете электронное письмо кому-то, сообщение переходит к серверу SMTP, который затем ищет MX (Почтовый Exchange) записи почтового домена получателя.
Поразите ссылку для пошаговых инструкций относительно того, как проверить с помощью ping-запросов адрес электронной почты.