Проверка подлинности SMTP Java только при необходимости - PullRequest
0 голосов
/ 31 июля 2011

Как мы используем API Java-почты, чтобы SMTP-аутентификация выполнялась только при необходимости.Например, если для свойства mail.smtp.auth установлено значение true, проверка подлинности выполняется, даже если SMTP-сервер не требует этого.

Нужно ли сначала отправлять почту без пароля, перехватывать исключения и на основеисключение отправить письмо с паролем?

Ответы [ 2 ]

0 голосов
/ 01 августа 2011

На основании этого:

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

Простое решение состоит в том, чтобы позволить пользователю включать / выключать использование настроенных данных аутентификации. Есть несколько из них, включая те, которые включают / отключают аутентификацию.

Кроме того, вам не повезло. Вам нужно будет реализовать собственное поведение SMTP-провайдера, либо создав подкласс, либо начав с нуля. Либо перехватите исключение и повторите попытку.

Ваш конкретный режим работы просто не поддерживается.


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

0 голосов
/ 31 июля 2011

, если для свойства mail.smtp.auth установлено значение true, проверка подлинности выполняется, даже если SMTP-сервер не требует этого.

В существование трудно поверитьили утилита SMTP-сервера, который не требует аутентификации.

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