Конечно как более грамотно делать я не умею, но можно проверять через тестовое сообщение. Кидаете простое письмо, а в ответ придет письмо, если ящик заблокирован/отсутствует и т.д.
Дальше парсим ящик, я кидаю письма на Яндекс, оттуда достаю и проверяю:
gmail: 550-5.1.1 The email account that you tried to reach does not exist
yahoo: This user doesn\'t have a yahoo.com account
aol: 550 5.1.1
И т.д. и т.п.
Чтобы указать ящик куда слать ответы о том, что письмо не дошло указываются в PHPMailer "addReplyTo".
Ах да, результат не забываем кешировать. Правда рано или поздно попадёшь в спам
Ну а это уже другая история.
Если кто-то знает более грамотный способ, то мне было бы интересно услышать.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).