Hi Dan,
sorry for the long delay - can you have a look at
https://issues.apache.org/jira/browse/EMAIL-70 - this issue was fixed
for the upcoming commons-email-1.2 release.
But I still don't understand your problem fully
+) when using the appserver session are you using SMTP authentication?
Cheers,
SIegfried Goeschl
myllokunmingia wrote:
> Hi we're attempting to use a mail session provided by an application server
> with commons email 1.1 and the code below is the only way we could get
> commons email to work with the gmail smtp server when providing a session.
> If a session is not provided commons email is able to send an email using
> the gmail smtp server. Are we approaching the problem correctly? Or is there
> a way to incorporate the changes below into the code base?
>
> Thanks in advance,
> Dan
>
> // set through server mail session cofiguration
> // Properties props = new Properties();
> //props.put("mail.smtps.auth", "true");
> //props.put("mail.smtps.host", SMTP_HOST_NAME);
> //props.put(Email.MAIL_TRANSPORT_PROTOCOL, "smtps");
>
> final Session session =
> JndiUtil.lookup(Config.JNDI_MAIL_SESSION)
>
> SimpleEmail email = new SimpleEmail() {
>
> @Override
> public void setMailSession(Session aSession) {
> Class clazz = getClass();
> try {
> Field field = clazz.getField("session");
> field.setAccessible(true);
> field.set(this, session);
> } catch (IllegalAccessException e) {
> throw new ActionException(e);
> } catch (IllegalArgumentException e) {
> throw new ActionException(e);
> } catch (NoSuchFieldException e) {
> throw new ActionException(e);
> } catch (SecurityException e) {
> throw new ActionException(e);
> }
> }
>
> @Override
> public Session getMailSession() throws EmailException {
> return session;
> }
>
> @Override
> public String sendMimeMessage() throws EmailException {
> Transport t = null;
> try {
> t = session.getTransport();
> if (SMTP_AUTH_USER != null && SMTP_AUTH_PWD != null)
> {
> t.connect(SMTP_AUTH_USER, SMTP_AUTH_PWD);
> } else {
> t.connect();
> }
>
> t.sendMessage(message, message.getAllRecipients());
> return message.getMessageID();
> } catch (NoSuchProviderException e) {
> throw new EmailException(e);
> } catch (MessagingException e) {
> throw new EmailException(e);
> } finally {
> if (t != null) {
> try {
> t.close();
> } catch (MessagingException e) {
> throw new EmailException(e);
> }
> }
> }
> }
> };
> email.setMsg(BODY);
> email.addTo(TO);
> email.setFrom(FROM);
> email.setSubject(SUBJECT);
> email.send();
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]