Наиболее надёжный способ это отправка письма с кодом (ссылкой) подтверждения, которую получатель должен будет активировать в ручном режиме.
Менее надёжный - проверка через механизм callout. Однако, некоторые системы на начальной стадии сессии могу давать OK для своих доменов вне зависимости от факта существования ящика.
bbaggins: Конкретно проверки базы я не писал. А проверку существования e-mail писал. Задача элементарная же ж. Когда напишите, реализуйте цикл проверки.
Или точнее говоря - отказ это точно отказ, а вот прием письма вовсе не означает, что оно попало к адресату. В корпоративных сетях очень часто несуществующие ящики (уволенных, etc) направляют на "ловушки" - письма, упавшие туда никто не читает.
bbaggins: Не обязательно. Вот у меня есть десяток ящиков на самых разных серверах. Пользуюсь я тремя - причем на один валит только спам, я его не читаю, он нужен только для восстановления паролей. Что с остальными - я не знаю, да и неинтересно мне. А туда возможно кто-то пишет :D