@ -17,10 +17,9 @@
@@ -17,10 +17,9 @@
package org.springframework.boot.autoconfigure.mail ;
import java.util.Properties ;
import javax.activation.MimeType ;
import javax.mail.internet.MimeMessage ;
import javax.mail.Session ;
import javax.mail.internet.MimeMessage ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration ;
@ -28,11 +27,12 @@ import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
@@ -28,11 +27,12 @@ import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass ;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean ;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty ;
import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration.Properties Condition ;
import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration.MailSender Condition ;
import org.springframework.boot.context.properties.EnableConfigurationProperties ;
import org.springframework.context.annotation.Bean ;
import org.springframework.context.annotation.Conditional ;
import org.springframework.context.annotation.Configuration ;
import org.springframework.context.annotation.Import ;
import org.springframework.mail.MailSender ;
import org.springframework.mail.javamail.JavaMailSenderImpl ;
@ -47,8 +47,9 @@ import org.springframework.mail.javamail.JavaMailSenderImpl;
@@ -47,8 +47,9 @@ import org.springframework.mail.javamail.JavaMailSenderImpl;
@Configuration
@ConditionalOnClass ( { MimeMessage . class , MimeType . class } )
@ConditionalOnMissingBean ( MailSender . class )
@Conditional ( Properties Condition. class )
@Conditional ( MailSender Condition. class )
@EnableConfigurationProperties ( MailProperties . class )
@Import ( JndiSessionConfiguration . class )
public class MailSenderAutoConfiguration {
@Autowired ( required = false )
@ -62,7 +63,8 @@ public class MailSenderAutoConfiguration {
@@ -62,7 +63,8 @@ public class MailSenderAutoConfiguration {
JavaMailSenderImpl sender = new JavaMailSenderImpl ( ) ;
if ( this . session ! = null ) {
sender . setSession ( this . session ) ;
} else {
}
else {
sender . setHost ( this . properties . getHost ( ) ) ;
if ( this . properties . getPort ( ) ! = null ) {
sender . setPort ( this . properties . getPort ( ) ) ;
@ -80,22 +82,23 @@ public class MailSenderAutoConfiguration {
@@ -80,22 +82,23 @@ public class MailSenderAutoConfiguration {
}
/ * *
* Condition for jndi - name or host property
* Condition to trigger the creation of a { @link JavaMailSenderImpl } . This kicks in
* if either the host or jndi name property is set .
* /
static class Properties Condition extends AnyNestedCondition {
static class MailSender Condition extends AnyNestedCondition {
public Properties Condition( ) {
public MailSender Condition( ) {
super ( ConfigurationPhase . PARSE_CONFIGURATION ) ;
}
@ConditionalOnProperty ( prefix = "spring.mail" , name = "jndi-name" )
static class JndiNameProperty {
}
@ConditionalOnProperty ( prefix = "spring.mail" , name = "host" )
static class HostProperty {
}
@ConditionalOnProperty ( prefix = "spring.mail" , name = "jndi-name" )
static class JndiNameProperty {
}
}
}