У меня возникла похожая проблема с точно таким же исключением. Я запустил один и тот же код в одной и той же ОС (Windows), но в двух разных контекстах (приглашение DOS и сервер приложений JOnAS), и оба не дали одинакового результата:
Письмо было успешно отправлено в командной строке DOS, но не удалось в JOnAS.
Я активировал режим отладки для почтового сеанса и сравнил трассировки SMTP. Они были более или менее одинаковыми, за исключением значений имени пользователя и пароля base64, отправленных для проверки подлинности: я заметил, что в DOS (рабочей) версии преобразованный в base64 пароль имел заполнение (например, пароль «test» был преобразован в «dGVzdA =» = "), но в версии JOnAS (не работает) преобразованный в base64 пароль не имеет заполнения (пароль" test "был преобразован в" dGVzdA "). Это сделало аутентификацию неудачной.
Неправильная кодировка base64 была вызвана библиотеками gnu-mail.jar
и / или gnu-providers.jar
, присутствующими в библиотеках JOnAS по умолчанию и загруженными вместо jar-файла, встроенного в мою WAR.
Я исправил проблему, удалив эти jar-файлы из папки libs JOnAS по умолчанию. После перезапуска JOnAS письмо было успешно отправлено.