Документация по настройке API Java Mail для JNDI в Tomcat - PullRequest
8 голосов
/ 16 июня 2011

Я трачу несколько дней, чтобы выяснить, как настроить javax.mail.Session в Tomcat через JNDI с аутентификацией , теперь я получаю его, но только после глубокого погружения в код.

За это время я видел худший код: javax.mail.Service # connect (String, String, String, String) Версия 1.4.1

    if (user == null) {
    user = url.getUsername();
    if (password == null)   // get password too if we need it
        password = url.getPassword();
    } else {
    if (password == null && user.equals(url.getUsername()))
        // only get the password if it matches the username
        password = url.getPassword();
    }

Когда назначается пароль?и почему он дважды проверяется на ноль?- а затем понимаете, что остальное не относится к описанному выше.(Это оригинальный отступ).Вернуться к теме.

По крайней мере, я обнаружил, что правильное определение ресурса:

<Resource name="email/session"
    type="javax.mail.Session"
    auth="Container"
    password="secret"

    mail.debug="false"
    mail.transport.protocol="smtp"

    mail.smtp.auth="true"
    mail.smtp.user="testi"
    mail.smtp.host="smtp.xxx.org"
    mail.smtp.from="test@example.com"       
    />

Обратите внимание на то, что это «пароль» и «mail.smtp.пользователь «или« mail.user », но не« mail.smtp.password »или« пользователь ».

По крайней мере, волшебство сделано в Tomcats org.apache.naming.factory.MailSessionFactory.Эта фабрика добавляет javax.mail.Authenticator к сеансу почты, если свойство password и свойство mail.smtp.user или mail.user выходят.

Теперь мой вопрос: где находится документация для всего этого?,Особенно о конфигурации имени пользователя и пароля?

Кстати: я объяснил это немного более подробно, чтобы помочь другим, как есть такая же проблема.

Ответы [ 2 ]

2 голосов
/ 20 декабря 2012

Это просто ошибка в документации.Кто-то уже поднял это на трекере ошибок Tomcat

https://bz.apache.org/bugzilla/show_bug.cgi?id=53665

Я предлагаю вам зарегистрироваться и проголосовать за ошибку.

0 голосов
/ 10 января 2012

Документация Tomcat ограничена, но исходный код здесь: http://javasourcecode.org/html/open-source/tomcat/tomcat-7.0.19/org/apache/naming/factory/MailSessionFactory.java.html

...