Skip to content

Commit c3ec8ab

Browse files
committed
chore: remove support for sending emails via SMTP.
Migration path: - application-prod.properties: remove spring.mail.* properties - application-prod.properties: add exclusion for org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration - application-prod.properties: add exclusion for org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration Note that SEND_MAIL_VIA_HTTP_API Togglz feature hasn'e been removed from database to allow downgrades to the previous versions. The feature will be cleaned up in the one of the following releases. Fix #1022
1 parent 74c4c78 commit c3ec8ab

File tree

10 files changed

+19
-169
lines changed

10 files changed

+19
-169
lines changed

pom.xml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@
1616
<version>${thymeleaf.togglz.version}</version>
1717
</dependency>
1818

19+
<!-- Required for InternetAddress class -->
20+
<dependency>
21+
<groupId>com.sun.mail</groupId>
22+
<artifactId>javax.mail</artifactId>
23+
<version>${javax-mail.version}</version>
24+
</dependency>
25+
1926
<dependency>
2027
<groupId>javax.validation</groupId>
2128
<artifactId>validation-api</artifactId>
@@ -109,12 +116,6 @@
109116
<artifactId>spring-boot-starter-logging</artifactId>
110117
</dependency>
111118

112-
<!-- https://github.com/spring-projects/spring-boot/blob/v1.5.21.RELEASE/spring-boot-starters/spring-boot-starter-mail/pom.xml -->
113-
<dependency>
114-
<groupId>org.springframework.boot</groupId>
115-
<artifactId>spring-boot-starter-mail</artifactId>
116-
</dependency>
117-
118119
<!-- https://github.com/spring-projects/spring-boot/blob/v1.5.21.RELEASE/spring-boot-starters/spring-boot-starter-security/pom.xml -->
119120
<dependency>
120121
<groupId>org.springframework.boot</groupId>

src/main/java/ru/mystamps/web/feature/site/SiteConfig.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import org.springframework.context.annotation.Configuration;
2626
import org.springframework.core.env.Environment;
2727
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
28-
import org.springframework.mail.javamail.JavaMailSender;
2928
import ru.mystamps.web.feature.account.UserService;
3029
import ru.mystamps.web.feature.account.UsersActivationService;
3130
import ru.mystamps.web.feature.category.CategoryService;
@@ -34,9 +33,7 @@
3433
import ru.mystamps.web.feature.report.ReportService;
3534
import ru.mystamps.web.feature.series.SeriesService;
3635
import ru.mystamps.web.support.mailgun.ApiMailgunEmailSendingStrategy;
37-
import ru.mystamps.web.support.mailgun.FallbackMailgunEmailSendingStrategy;
3836
import ru.mystamps.web.support.mailgun.MailgunEmailSendingStrategy;
39-
import ru.mystamps.web.support.mailgun.SmtpMailgunEmailSendingStrategy;
4037

4138
import java.util.Locale;
4239

@@ -103,7 +100,6 @@ public static class Services {
103100
private final ReportService reportService;
104101
private final SeriesService seriesService;
105102
private final Environment env;
106-
private final JavaMailSender mailSender;
107103
private final NamedParameterJdbcTemplate jdbcTemplate;
108104
private final MessageSource messageSource;
109105
private final RestTemplateBuilder restTemplateBuilder;
@@ -135,9 +131,11 @@ public MailService mailService() {
135131
String password = env.getRequiredProperty("mailgun.password");
136132
String endpoint = env.getRequiredProperty("mailgun.endpoint");
137133

138-
MailgunEmailSendingStrategy mailStrategy = new FallbackMailgunEmailSendingStrategy(
139-
new ApiMailgunEmailSendingStrategy(restTemplateBuilder, endpoint, user, password),
140-
new SmtpMailgunEmailSendingStrategy(mailSender)
134+
MailgunEmailSendingStrategy mailStrategy = new ApiMailgunEmailSendingStrategy(
135+
restTemplateBuilder,
136+
endpoint,
137+
user,
138+
password
141139
);
142140

143141
return new MailServiceImpl(

src/main/java/ru/mystamps/web/support/mailgun/FallbackMailgunEmailSendingStrategy.java

Lines changed: 0 additions & 71 deletions
This file was deleted.

src/main/java/ru/mystamps/web/support/mailgun/MailgunEmailSendingStrategy.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ public interface MailgunEmailSendingStrategy {
3030
* @param email data and meta-data for sending an e-mail
3131
* @throws EmailSendingException when any error occurs
3232
* @see ApiMailgunEmailSendingStrategy
33-
* @see SmtpMailgunEmailSendingStrategy
3433
* @see <a href="https://documentation.mailgun.com/en/latest/user_manual.html#tagging">Tagging</a>
3534
* @see <a href="https://documentation.mailgun.com/en/latest/user_manual.html#sending-in-test-mode">Sending in Test Mode</a>
3635
*/

src/main/java/ru/mystamps/web/support/mailgun/SmtpMailgunEmailSendingStrategy.java

Lines changed: 0 additions & 73 deletions
This file was deleted.

src/main/java/ru/mystamps/web/support/togglz/Features.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.togglz.core.annotation.Label;
2323
import org.togglz.core.context.FeatureContext;
2424

25+
// @todo #1022 Togglz: remove SEND_MAIL_VIA_HTTP_API from database
2526
public enum Features implements Feature {
2627

2728
@Label("/series/{id}: possibility to user to add series to collection")
@@ -48,10 +49,6 @@ public enum Features implements Feature {
4849
@EnabledByDefault
4950
SEND_ACTIVATION_MAIL,
5051

51-
@Label("Send mail via HTTP API and fallback to SMTP as the last resort")
52-
@EnabledByDefault
53-
SEND_MAIL_VIA_HTTP_API,
54-
5552
@Label("/series/add: show link with auto-suggestions")
5653
@EnabledByDefault
5754
SHOW_SUGGESTION_LINK;

src/main/resources/application-test.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ spring.autoconfigure.exclude: \
6161
, org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration \
6262
, org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration \
6363
, org.springframework.boot.autoconfigure.data.couchbase.CouchbaseRepositoriesAutoConfiguration \
64+
, org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration \
65+
, org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration \
6466
, org.springframework.boot.autoconfigure.mobile.DeviceDelegatingViewResolverAutoConfiguration \
6567
, org.springframework.boot.autoconfigure.mobile.DeviceResolverAutoConfiguration \
6668
, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration \

src/main/resources/application-travis.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ spring.autoconfigure.exclude: \
5959
, org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration \
6060
, org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration \
6161
, org.springframework.boot.autoconfigure.data.couchbase.CouchbaseRepositoriesAutoConfiguration \
62+
, org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration \
63+
, org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration \
6264
, org.springframework.boot.autoconfigure.mobile.DeviceDelegatingViewResolverAutoConfiguration \
6365
, org.springframework.boot.autoconfigure.mobile.DeviceResolverAutoConfiguration \
6466
, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration \

vagrant/provisioning/roles/mystamps-app/templates/application-prod.properties

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@ spring.datasource.password: {{ user_db_password }}
66
spring.datasource.driver-class-name: com.mysql.jdbc.Driver
77
spring.datasource.initialize: false
88

9-
spring.mail.host: smtp.mailgun.org
10-
spring.mail.port: 25
11-
spring.mail.username: postmaster@my-stamps.ru
12-
spring.mail.password: {{ user_mail_password }}
13-
spring.mail.test-connection: true
14-
159
spring.messages.cache-seconds: -1
1610
spring.messages.fallback-to-system-locale: false
1711
spring.messages.basename: \
@@ -67,6 +61,8 @@ spring.autoconfigure.exclude: \
6761
, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration \
6862
, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration \
6963
, org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration \
64+
, org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration \
65+
, org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration \
7066
, org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration \
7167
, org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration \
7268
, org.springframework.boot.autoconfigure.social.FacebookAutoConfiguration \

vagrant/provisioning/vagrant.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
vars:
77
profile: 'test'
88
user_db_password: 'q1'
9-
user_mail_password: 'q2'
109
mailgun_api_password: 'q3'
1110
# required for Ubuntu 16.04. which installs Python 2.x to a non-standard path
1211
ansible_python_interpreter: "/usr/bin/python2.7"

0 commit comments

Comments
 (0)