continuum-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Victor Suarez (JIRA)" <j...@codehaus.org>
Subject [jira] Commented: (CONTINUUM-1674) mail authentication with username/password doesn't work
Date Thu, 08 May 2008 16:58:27 GMT

    [ 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

       

Mime
View raw message