From 7669e888cb763ecbdd25e4a794ce91f47be8200f Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Tue, 4 Aug 2015 15:08:33 +0200 Subject: [PATCH] Polish Closes gh-3649 --- .../autoconfigure/mail/MailProperties.java | 20 +++++++++---------- .../mail/MailSenderAutoConfiguration.java | 5 +---- .../MailSenderAutoConfigurationTests.java | 7 +++++-- .../appendix-application-properties.adoc | 1 + 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailProperties.java index 2b7549454ff..b8db99c6c7e 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailProperties.java @@ -55,10 +55,10 @@ public class MailProperties { */ private String password; - /** - * Protocol used by the SMTP server. - */ - private String protocol; + /** + * Protocol used by the SMTP server. + */ + private String protocol = "smtp"; /** * Default MimeMessage encoding. @@ -112,13 +112,13 @@ public class MailProperties { this.password = password; } - public String getProtocol() { - return this.protocol; - } + public String getProtocol() { + return this.protocol; + } - public void setProtocol(String protocol) { - this.protocol = protocol; - } + public void setProtocol(String protocol) { + this.protocol = protocol; + } public Charset getDefaultEncoding() { return this.defaultEncoding; diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfiguration.java index 77955269062..394e652a9df 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfiguration.java @@ -18,7 +18,6 @@ package org.springframework.boot.autoconfigure.mail; import java.util.Map; import java.util.Properties; - import javax.activation.MimeType; import javax.mail.Session; import javax.mail.internet.MimeMessage; @@ -79,9 +78,7 @@ public class MailSenderAutoConfiguration { } sender.setUsername(this.properties.getUsername()); sender.setPassword(this.properties.getPassword()); - if (this.properties.getProtocol() != null) { - sender.setProtocol(this.properties.getProtocol()); - } + sender.setProtocol(this.properties.getProtocol()); if (this.properties.getDefaultEncoding() != null) { sender.setDefaultEncoding(this.properties.getDefaultEncoding().name()); } diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfigurationTests.java index db6f0e3e16f..0d1e8025e9b 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfigurationTests.java @@ -100,14 +100,16 @@ public class MailSenderAutoConfigurationTests { JavaMailSenderImpl bean = (JavaMailSenderImpl) this.context .getBean(JavaMailSender.class); assertEquals(host, bean.getHost()); + assertEquals(JavaMailSenderImpl.DEFAULT_PORT, bean.getPort()); + assertEquals(JavaMailSenderImpl.DEFAULT_PROTOCOL, bean.getProtocol()); } @Test - public void smptHostWithSettings() { + public void smtpHostWithSettings() { String host = "192.168.1.234"; load(EmptyConfig.class, "spring.mail.host:" + host, "spring.mail.port:42", "spring.mail.username:john", "spring.mail.password:secret", - "spring.mail.default-encoding:US-ASCII"); + "spring.mail.default-encoding:US-ASCII", "spring.mail.protocol:smtps"); JavaMailSenderImpl bean = (JavaMailSenderImpl) this.context .getBean(JavaMailSender.class); assertEquals(host, bean.getHost()); @@ -115,6 +117,7 @@ public class MailSenderAutoConfigurationTests { assertEquals("john", bean.getUsername()); assertEquals("secret", bean.getPassword()); assertEquals("US-ASCII", bean.getDefaultEncoding()); + assertEquals("smtps", bean.getProtocol()); } @Test diff --git a/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc b/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc index f7c65dfc302..64d40d16479 100644 --- a/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc +++ b/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc @@ -548,6 +548,7 @@ content into your application; rather pick only the properties that you need. # Email ({sc-spring-boot-autoconfigure}/mail/MailProperties.{sc-ext}[MailProperties]) spring.mail.host=smtp.acme.org # mail server host spring.mail.port= # mail server port + spring.mail.protocol=smtp # mail server protocol spring.mail.username= spring.mail.password= spring.mail.default-encoding=UTF-8 # encoding to use for MimeMessages