Проверьте, что почтовый домен существует

Кто-либо проверяет домен адреса электронной почты как часть их шагов проверки? например, Подтвердите, что gmail.com существует, если пользователь указал blah@gmail.com как их адрес.


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

10
задан Testing123 14 June 2010 в 19:21
поделиться

5 ответов

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

[addendum]:

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

8
ответ дан 3 December 2019 в 16:09
поделиться

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

1
ответ дан 3 December 2019 в 16:09
поделиться

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

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

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

15
ответ дан 3 December 2019 в 16:09
поделиться

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

 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

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

1
ответ дан 3 December 2019 в 16:09
поделиться

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

1
ответ дан 3 December 2019 в 16:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: