Намучался искать нормальный (авторитетный) источник информации по отправке secure mail с помощью JavaMail. Secure -- это который через SSL и порт 465 (обычно).
В итоге нашел описание на самом java.sun.com (ссылка в заголовке).
Если я их правильно понял, есть 3 основных варианта (для самой свежей версии JavaMail -- 1.4.3)
Первый вариант просто указать системное свойство mail.smtp.ssl.enable=true. Провайдер вроде как должен сам понять, если имеет дело с секьюрным сервером.
Второй вариант -- последней версии можно использовать имя протокола smtps (pops, imaps) -- и, соответственно, все свойства задавать в виде mail.smtps.host, mail.smtps.port, etc.
Последний, самый старый вариант -- инсталлировать SSLSocketFactory через системное свойство mail.smtp.ssl.socketFactory.class
И еще гмайл и похожие сервера требуют установки свойства mail.smtp.starttls.enable=true.
В общем, JavaMail как обычно напоминает шаманские пляски.
в этом api все запутано, напутано!
ОтветитьУдалить