[ 
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


Reply via email to