Одним из способов решения этой проблемы может быть отслеживание отклоненного сообщения.Но у этого подхода есть несколько трудностей из-за неодинаковых стандартов.
Тем не менее, может быть, стоит что-то сделать из ничего.Иногда важно знать, получил ли пользователь электронное письмо и не отвечает ИЛИ сам адрес электронной почты неверен.
Возможно, вы захотите проверить эту ссылку: http://www.oracle.com/technetwork/java/faq-135477.html#bounce
См. Этот отрывок по ссылке:
Q: Если сообщение не может быть доставлено, сообщение об ошибкевернулся.Как я могу обнаружить эти "отклоненные" сообщения?
A: Хотя существует Интернет-стандарт для сообщения о таких ошибках (MIME-тип multipart / report, см. RFC1892), он пока не получил широкого применения.RFC1211 подробно обсуждает эту проблему, включая многочисленные примеры.
В электронной почте через Интернет существование определенного почтового ящика или имени пользователя может быть определено только конечным сервером, который доставит сообщение.Сообщение может пройти через несколько серверов ретрансляции (которые не могут обнаружить ошибку) до достижения конечного сервера.
Как правило, когда конечный сервер обнаруживает такую ошибку, он возвращает отправителю исходного сообщения сообщение о причине сбоя.Существует множество интернет-стандартов, охватывающих такие уведомления о состоянии доставки, но большое количество серверов не поддерживают эти новые стандарты, вместо этого используются специальные методы для возврата таких сообщений об ошибках.
Это очень затрудняет корреляцию "отскочившего" сообщения с исходным сообщением, вызвавшим проблему.(Обратите внимание, что эта проблема полностью независима от JavaMail.) JavaMail теперь включает поддержку анализа уведомлений о состоянии доставки;подробности смотрите в файле NOTES.txt в пакете JavaMail.
Существует ряд методов и эвристик для решения этой проблемы, но ни один из них не является идеальным.Одним из методов является путь возврата переменной огибающей, описанный в http://cr.yp.to/proto/verp.txt.