Документация по настройке Java Mail API для JNDI в Tomcat
-
28-10-2019 - |
Вопрос
Я трачу несколько дней на то, чтобы понять, как настроить javax.mail.Session в Tomcat через JNDI с аутентификацией , теперь я получаю это, но только после глубокого погружения в код.
В этот раз я увидел худший код из когда-либо существовавших: javax.mail.Service # connect (String, String, String, String) Version 1.4.1
родовое словоКогда назначается пароль? и почему он дважды проверяется на нуль? - а затем поймите, что else не принадлежит if выше. (Это исходный отступ). Вернуться к теме.
По крайней мере, я обнаружил, что правильное определение ресурса:
родовое словоОбратите внимание на то, что это «пароль» и «mail.smtp.user» или «mail.user», но не «mail.smtp.password» или «пользователь».
По крайней мере, волшебство творится в генеракодическом коде Tomcats. Эта фабрика добавляет код org.apache.naming.factory.MailSessionFactory
к сеансу почты, если свойство javax.mail.Authenticator
и свойство password
или mail.smtp.user
завершаются.
Теперь у меня вопрос, где документация по всему этому делу. Особенно насчет конфигурации имени пользователя и пароля?
Кстати: я объяснил это немного подробнее, чтобы помочь другим, как возникает та же проблема.
Решение
Документация Tomcat ограничена, но исходный код находится здесь: http://javasourcecode.org/html/open-source/tomcat/tomcat-7.0.19/org/apache/naming/factory/MailSessionFactory.java.html .
Другие советы
Это просто ошибка в документации.Кто-то уже поднял этот вопрос в системе отслеживания ошибок Tomcat
https://bz.apache.org/bugzilla/show_bug.cgi? id= 53665
Предлагаю вам зарегистрироваться и проголосовать за ошибку.