В настоящее время я пытаюсь проверить действительность адреса электронной почты, сначала проверив, существует ли запись MX, используя getmxrr()
или же dns_get_record()
с PHP 7 на капле DigitalOcean.
В моем примере (который возвращает неправильный ответ) я пытаюсь проверить адрес электронной почты в домене «nuwatches.com». С помощью dns_get_record(”nuwatches.com”, DNS_ALL)
Я возвратил массив, который содержит запись MX, хотя я знаю, что в действительности этого не существует:
[5] => Array (
[host] => nuwatches.com.com
[class] => IN
[ttl] => 27
[type] => MX
[pri] => 1
[target] => mail.user-mail.net
)
Однако, если я использую nslookup
прямо из консоли на дроплете DigitalOcean мне правильно сказали, что записи MX не существует.
Кроме того, если я запускаю dns_get_record()
Я использую другой дроплет, или использую бегущий PHP-код в Интернете, мне также дают правильный ответ (то есть, что записи MX не существует).
Я поговорил со службой поддержки DigitalOcean, и они предполагают, что с PHP происходит что-то странное с этой конкретной капелькой, возможно, с проблемами кэширования, но я никак не могу понять, что может быть причиной несоответствия, тем более что я ничего не кэширую себя.
В настоящее время мой единственный вариант получить правильный ответ на эту каплю — это запустить nslookup
а потом разбирать результат, но я бы хотел использовать dns_get_record()
если возможно.
Буду признателен за любые предложения. Спасибо!
Задача ещё не решена.
Других решений пока нет …