Поймать MailException - PullRequest
       7

Поймать MailException

1 голос
/ 11 ноября 2011

Можно ли перехватить MailException при отправке электронной почты?Я хочу перехватить его в таких ситуациях, как отключение почтового сервера, неправильный адрес электронной почты и т. Д.

Я вижу исключение MailException в консоли, но не могу его перехватить при вызове Mailer.send().Mailer.send() отправляет электронную почту асинхронно, и поэтому я не могу поймать исключение.Как я могу дождаться результата, приостанавливающего HTTP-запрос?

Другой вопрос: Mailer.sendAndWait() приостанавливает запрос?

1 Ответ

0 голосов
/ 12 ноября 2011

Сначала метод mail () может вызвать исключение MailException в случае сбоя при отправке почты.

Методы send возвращают Future типа Boolean, если вы вызовете get () в будущем, вы получите результатотправка почты, помните, что этот вызов блокируется и будет ждать окончания отправки почты.Это то же самое, что и при использовании sendAndWait ()

Этот метод также может вызвать исключение ExecutionException, но у меня нет впечатления, что он используется программой воспроизведения почты.Вместо этого вы получаете ложное возвращение из будущего, и исключение регистрируется.

SendAndWait () не приостанавливает запрос, насколько я вижу в источниках

подробнее здесь: http://download.oracle.com/javase/1,5.0/docs/api/java/util/concurrent/Future.html

https://github.com/playframework/play/blob/master/framework/src/play/mvc/Mailer.java https://github.com/playframework/play/blob/master/framework/src/play/libs/Mail.java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...