Убедитесь, что домен электронной почты существует

Кто-нибудь проверяет домен на адрес электронной почты как часть шагов проверки? например. Убедитесь, что gmail.com существует, если пользователь указал адрес [email protected] в качестве своего адреса.


Я должен отметить, что в моем webapp существующий пользователь может перенаправлять приглашения своим друзьям. Мне вообще не нужно проверять эти приглашения. Скорее, я просто хочу предупредить своего пользователя, если опечатка и т.д. Может отправлять приглашение не тому человеку. Это даже стоит делать?

Ответ 1

Вы можете выполнить поиск dns в mx record. Вот пример проекта Code:
http://www.codeproject.com/KB/IP/dnslookupdotnet.aspx

[добавление]:

Это должно ответить на ваш вопрос, как было задано, но в качестве примечания стороны я согласен с @Franci, что старый режим отправки сообщения для проверки лучше. Если кто-то сделал все остальное, чтобы одурачить вашу проверку, вы действительно не много покупаете, проверяя домен.

Ответ 2

Веб-сайты, которые должны проверять адрес электронной почты пользователя, обычно отправляют электронное письмо на этот адрес с помощью ссылки проверки. Проверка домена для электронной почты не покупает вас много, так как люди обычно дают поддельные письма на существующем веб-провайдере электронной почты (обычно @gmail.com, @yahoo.com или @hotmail.com).

Если вы хотите еще проверить домен, вы должны сделать проверку DNS для записи MX для этого домена, а не просто проверить, зарегистрирован ли домен.

Обновить. Обратите внимание, что часть домена электронной почты фактически может быть IP-адресом (хотя эта форма сильно не рекомендуется). В этом случае вы не можете проверить достоверность, если на этом адресе есть SMTP-сервер, если вы на самом деле не пытаетесь подключиться к нему через SMTP. Это по сути то же самое, что отправлять электронную почту.

Ответ 3

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

Ответ 4

Определенно можно проверить, является ли домен допустимым почтовым сервером. Дайте эти инструкции попробовать.

Ответ 5

Вы можете выполнить эту команду в консоли

 nslookup -q=mx gmail.com

и проанализировать вывод для строк, содержащих MX после имени хоста

gmail.com       MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google.com
gmail.com       MX preference = 20, mail exchanger = alt2.gmail-smtp-in.l.google.com
gmail.com       MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
gmail.com       MX preference = 30, mail exchanger = alt3.gmail-smtp-in.l.google.com
gmail.com       MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com

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