Вот посмотри здесь
verify-email-address
кратко:
1) получение mx записей, я бы посоветовал на этом остановиться и считать адрес существующим, если мх есть
2) подключение к серверу
3) отправка запросов и получение ответов
RCPT запрос возвращает ответ от email, если тот существует