26

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

Я нашел онлайн-сервис Email Unlimited, но он проверяет только 20 адресов электронной почты, прежде чем покупать полную версию.

10 ответов10

37

Просто для полноты картины : некоторые серверы 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. Это также может дать вам некоторую информацию, но старые адреса будут недоступны в течение некоторого времени.)

22

Если бы это было возможно, спаммеры по всему миру пели бы от радости.

Извините, но нет, невозможно узнать, существует ли какой-либо из указанных адресов электронной почты или нет.

На мой взгляд, это особенность!

  • Если вы знаете своих корреспондентов, то вы будете знать их контактную информацию.
  • Если вы не знаете своих корреспондентов, то вы незнакомы, и они не оценят получение нежелательных писем от вас.
  • Если вы знали своих корреспондентов, и они не информировали вас об изменениях своего адреса, то они сделали (не?)сознательное решение не получать вашу почту.

Лучшее, что вы можете сделать, это отправить по электронной почте в ваш список, а затем удалить те, которые отказов (= те, которые не могли быть доставлены).

Быть осторожен! В некоторых странах запрещается рассылать нежелательные массовые электронные письма людям, которые явно не разрешили это заранее.

7

Там действительно нет никакого хорошего способа сделать это. В протоколе SMTP есть команда «VRFY», но я не знаю никого, кто бы позволил этому больше работать - это слишком полезно для спамеров. Большинство хостов просто откажутся от команды.

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

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

2

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

Существуют библиотеки F/OSS, которые делают столько, сколько возможно: я полагаю, что большинство программного обеспечения на рынке - просто модная обертка вокруг них, так что вы, возможно, легко сможете сделать свою собственную, такую же хорошую / плохую. если у вас есть опыт программирования. Но помните, что независимо от того, насколько хороша процедура проверки, она будет очень склонна давать ложноположительные и ложноотрицательные результаты.

Например, http://freshmeat.net/projects/emailaddressvalidationcomponent выполняет быстрый поиск свежей информации, и, предполагая, что описание правильное, он делает все возможное для проверки адреса.

2

Вы можете пинговать адрес электронной почты.

От Lifehacker.com:

http://lifehacker.com/5697360/how-to-verify-if-an-email-address-is-real-or-fake

Когда вы отправляете кому-либо письмо, оно отправляется на SMTP-сервер, который затем ищет записи MX (Mail Exchange) домена получателя электронной почты.

Нажмите на ссылку для получения пошаговых инструкций о том, как пропинговать адрес электронной почты.

1

Как насчет написания сценария Perl для автоматизации этой работы? Проверьте это: http://search.cpan.org/~ilyam/Mail-CheckUser-1.21/CheckUser.pm

1

В контексте компании это может быть сделано путем автоматизации поиска в Active Directory.

1

Мне также нужен был способ проверить наличие адресов электронной почты, поэтому я написал свою маленькую утилиту. (Python)

http://github.com/un33k/python-emailahoy

Это на 100% точно, когда поставщик честен с вами.
(Gmail довольно честный, но Yahoo не так, как он говорит да на все электронные письма.)

Это лучше, чем ничего, так как для меня это уменьшило количество спама более чем на 50%.

1

Вы можете попробовать: http://verify-emails.com/

Это все еще пробный сервис, но он может обрабатывать списки, а также отдельные электронные письма и может быть включен в регистрационные формы.

0

Проверить наличие адреса электронной почты можно по этой ссылке:http://verify-email.org/. Он проверяет адрес электронной почты и отвечает « Ok если электронная почта существует, и « Bad если электронная почта поддельная или не существует. Еще одна ссылка полезна для этой проблемы:http://www.shoutmeloud.com/how-to-verify-if-email-address-exist-or-not.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .