[ 
https://issues.apache.org/jira/browse/EMAIL-149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14347764#comment-14347764
 ] 

Richard DiCroce commented on EMAIL-149:
---------------------------------------

It's been a while since I filed this so I might not have all the details 
straight anymore. I don't have any debug output but the problem isn't hard to 
understand.

I configure a mail Session in WildFly, including the "from" attribute in 
WildFly's configuration. WildFly creates the mail Session and binds it in JNDI. 
When creating the Session, WildFly notices the from attribute and sets the 
value of "mail.from" in the Session, which is the correct attribute to use 
according to the JavaMail Javadoc. I obtain the Session from JNDI and provide 
it to the Email object. The idea here is that all of the necessary 
configuration should have occurred when WildFly created the Session, so I 
should not need to call Email#setFrom().

But when I try to send the Email, I get an exception saying "From address 
required". This occurs because of the checks in Email#buildMimeMessage() at 
lines 1315 to 1325. It first checks if the fromAddress field in the Email 
itself is set. It isn't because I shouldn't need to set it, as WildFly has 
already set the property in the session. Because fromAddress is null, the code 
then checks whether the "mail.smtp.from" property is set in the session. It 
isn't set because that is a non-standard property. And so an exception is 
thrown and the message is not sent.

It looks to me like "mail.from" and "mail.smtp.from" are trying to do the same 
thing, hence why I said the value of the MAIL_SMTP_FROM constant is incorrect. 
If they're not doing the same thing, then the code should at least be adjusted 
to check "mail.from" in addition to "mail.smtp.from" before throwing an 
exception.

> EmailConstants.MAIL_SMTP_FROM value is incorrect
> ------------------------------------------------
>
>                 Key: EMAIL-149
>                 URL: https://issues.apache.org/jira/browse/EMAIL-149
>             Project: Commons Email
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>            Reporter: Richard DiCroce
>
> Per the JavaMail Javadoc (https://javamail.java.net/nonav/docs/api/), the 
> standard property for the from address is "mail.from", not "mail.smtp.from".
> This incorrect value causes sending emails to fail if using a Session 
> provided by an EE container that properly sets the from address. Observed on 
> WildFly 8.2.0.Final.
> Workaround: add the "mail.smtp.from" value to the session properties. You 
> don't need to set the actual value, the fact that it's there is enough:
> session.getProperties().setProperty(EmailConstants.MAIL_SMTP_FROM, "");



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to