Skip to content

Commit

Permalink
[#911] Set all mail properties contains in configuration files
Browse files Browse the repository at this point in the history
  • Loading branch information
xael-fry authored and Notalifeform committed Aug 11, 2013
1 parent ad9a183 commit d7d6222
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions framework/src/play/libs/Mail.java
Expand Up @@ -3,14 +3,15 @@
import org.apache.commons.lang.StringUtils;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;

import play.Logger;
import play.Play;
import play.exceptions.MailException;
import play.utils.Utils;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
Expand Down Expand Up @@ -124,15 +125,16 @@ public static Session getSession() {
// story to be continued in javamail 1.4.2 : https://glassfish.dev.java.net/issues/show_bug.cgi?id=5189
}

if (Play.configuration.containsKey("mail.smtp.localhost")) {
props.put("mail.smtp.localhost", Play.configuration.get("mail.smtp.localhost")); //override defaults
}
if (Play.configuration.containsKey("mail.smtp.socketFactory.class")) {
props.put("mail.smtp.socketFactory.class", Play.configuration.get("mail.smtp.socketFactory.class"));
}
if (Play.configuration.containsKey("mail.smtp.port")) {
props.put("mail.smtp.port", Play.configuration.get("mail.smtp.port"));
// Inject additional mail.* settings declared in Play! configuration
Map<Object, Object> additionalSettings = new HashMap<Object, Object>();
additionalSettings = Utils.Maps.filterMap(Play.configuration, "^mail\\..*");
if(additionalSettings.size() > 0){
// Remove "password" fields
additionalSettings.remove("mail.smtp.pass");
additionalSettings.remove("mail.smtp.password");
props.putAll(additionalSettings);
}

String user = Play.configuration.getProperty("mail.smtp.user");
String password = Play.configuration.getProperty("mail.smtp.pass");
if (password == null) {
Expand Down

0 comments on commit d7d6222

Please sign in to comment.