[
http://jira.codehaus.org/browse/CONTINUUM-1674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=134031#action_134031
]
Victor Suarez commented on CONTINUUM-1674:
------------------------------------------
bq. Sorry, for my very late answer... had no internet connection last months
Don't worry, I didn't ask about your code, I did ask about the original
sources. You resolved the problem, but original source uses the JNDI resource
in a way that I can't understand.
bq. How did you set the password into the session object? Did you rename the
property?
With the "password" attribute, like you. When you put a resource in
context.xml, Tomcat (or any web container) is responsible for connecting and
manage the sessions. Because of that you use the Tomcat mail session directly,
and Session.getInstance is not needed (or you will lose the authenticator that
was associated by Tomcat).
Indeed, I think that AbstractJavamailMailSender.send() does many redundant
work already done by Tomcat (IMHO).
Regards,
Victor
> mail authentication with username/password doesn't work
> -------------------------------------------------------
>
> Key: CONTINUUM-1674
> URL: http://jira.codehaus.org/browse/CONTINUUM-1674
> Project: Continuum
> Issue Type: Bug
> Affects Versions: 1.1
> Environment: Debian 4.0, Tomcat 6.0.14, jdk 1.6.0 u3
> Reporter: René jahn
> Fix For: 1.x
>
> Attachments: plex-javamail-2.patch, plex-javamail.patch
>
>
> I use continuum as tomcat webapp.
> If you use a mailserver with authentication, you can define following in the
> context.xml of your webapp/META-INF:
> <Resource name="mail/Session"
> auth="Container"
> type="javax.mail.Session"
> mail.smtp.auth="true"
> mail.smtp.host="mailserver"
> mail.smtp.port="25"
> mail.smtp.user="username"
> password="password"/>
> The problem is, that the parameter password will be ignored. I found the
> problem in:
> org.codehaus.plexus.mailsender.javamail.JndiJavamailMailSender.getSession
> ->
> Context ctx = new InitialContext();
> Session s = (Session)ctx.lookup(jndiSessionName);
> The session doesn't contain a property called "password".
> My dirty workaround to solve the problem:
> renamed password to mail.smtp.password (in context.xml) and wrote a class
> which extends JndiJavamailMailSender with overriden getSession:
> public Session getSession() throws MailSenderException
> {
> Session sess = super.getSession();
>
> Properties prop = sess.getProperties();
>
> prop.setProperty(JndiJavamailMailSender.MAIL_SMTP_PASSWORD,
> prop.getProperty("mail.smtp.password"));
>
> return Session.getInstance(prop, null);
> }
> Maybe you set the value of the constant MAIL_SMTP_PASSWORD to
> "mail.stmp.password" and everything is fine!
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira