This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git

commit 9e817338a875a56633650f641ef9014d2f3a5bc6
Author: Francesco Chicchiriccò <ilgro...@apache.org>
AuthorDate: Fri Dec 9 14:22:52 2022 +0100

    Prefer spring-boot-starter-mail over custom conf
---
 .../syncope/core/logic/IdMLogicTestContext.java    |  8 ++
 core/idrepo/logic/pom.xml                          |  5 ++
 .../syncope/core/logic/IdRepoLogicTestContext.java |  8 ++
 core/provisioning-java/pom.xml                     | 13 ++--
 .../provisioning/java/ProvisioningContext.java     | 85 ---------------------
 .../provisioning/java/ProvisioningProperties.java  | 87 ----------------------
 .../provisioning/java/ProvisioningTestContext.java |  8 ++
 core/starter/src/main/resources/core.properties    | 20 +++--
 .../src/main/resources/core-embedded.properties    |  4 +-
 .../syncope/fit/core/NotificationITCase.java       |  3 +-
 .../reference-guide/configuration/email.adoc       | 59 +++++----------
 11 files changed, 67 insertions(+), 233 deletions(-)

diff --git 
a/core/idm/logic/src/test/java/org/apache/syncope/core/logic/IdMLogicTestContext.java
 
b/core/idm/logic/src/test/java/org/apache/syncope/core/logic/IdMLogicTestContext.java
index f29b633844..9102a808b5 100644
--- 
a/core/idm/logic/src/test/java/org/apache/syncope/core/logic/IdMLogicTestContext.java
+++ 
b/core/idm/logic/src/test/java/org/apache/syncope/core/logic/IdMLogicTestContext.java
@@ -18,6 +18,8 @@
  */
 package org.apache.syncope.core.logic;
 
+import static org.mockito.Mockito.mock;
+
 import org.apache.syncope.common.keymaster.client.api.ConfParamOps;
 import org.apache.syncope.common.keymaster.client.api.DomainOps;
 import org.apache.syncope.common.keymaster.client.api.ServiceOps;
@@ -36,6 +38,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.PropertySource;
+import org.springframework.mail.javamail.JavaMailSender;
 
 @PropertySource("classpath:core-test.properties")
 @Import({ IdRepoLogicContext.class, IdMLogicContext.class, 
SecurityContext.class,
@@ -53,6 +56,11 @@ public class IdMLogicTestContext {
         return new TestInitializer(domainLoader, domainHolder, contentLoader, 
ctx);
     }
 
+    @Bean
+    public JavaMailSender javaMailSender() {
+        return mock(JavaMailSender.class);
+    }
+
     @Bean
     public ImplementationLookup implementationLookup() {
         return new DummyImplementationLookup();
diff --git a/core/idrepo/logic/pom.xml b/core/idrepo/logic/pom.xml
index acc2852ac1..ddc1abe2ab 100644
--- a/core/idrepo/logic/pom.xml
+++ b/core/idrepo/logic/pom.xml
@@ -100,6 +100,11 @@ under the License.
       <artifactId>spring-test</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.junit.jupiter</groupId>
       <artifactId>junit-jupiter</artifactId>
diff --git 
a/core/idrepo/logic/src/test/java/org/apache/syncope/core/logic/IdRepoLogicTestContext.java
 
b/core/idrepo/logic/src/test/java/org/apache/syncope/core/logic/IdRepoLogicTestContext.java
index d647b7ca82..ed654e422e 100644
--- 
a/core/idrepo/logic/src/test/java/org/apache/syncope/core/logic/IdRepoLogicTestContext.java
+++ 
b/core/idrepo/logic/src/test/java/org/apache/syncope/core/logic/IdRepoLogicTestContext.java
@@ -18,6 +18,8 @@
  */
 package org.apache.syncope.core.logic;
 
+import static org.mockito.Mockito.mock;
+
 import org.apache.syncope.common.keymaster.client.api.ConfParamOps;
 import org.apache.syncope.common.keymaster.client.api.DomainOps;
 import org.apache.syncope.common.keymaster.client.api.ServiceOps;
@@ -36,6 +38,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.PropertySource;
+import org.springframework.mail.javamail.JavaMailSender;
 
 @PropertySource("classpath:core-test.properties")
 @Import({ IdRepoLogicContext.class, IdRepoLogicContext.class, 
SecurityContext.class,
@@ -53,6 +56,11 @@ public class IdRepoLogicTestContext {
         return new TestInitializer(domainLoader, domainHolder, contentLoader, 
ctx);
     }
 
+    @Bean
+    public JavaMailSender javaMailSender() {
+        return mock(JavaMailSender.class);
+    }
+
     @Bean
     public ImplementationLookup implementationLookup() {
         return new DummyImplementationLookup();
diff --git a/core/provisioning-java/pom.xml b/core/provisioning-java/pom.xml
index 96aca892fa..fda5ce3d61 100644
--- a/core/provisioning-java/pom.xml
+++ b/core/provisioning-java/pom.xml
@@ -45,9 +45,10 @@ under the License.
     </dependency>
 
     <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-context-support</artifactId>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-mail</artifactId>
     </dependency>
+
     <dependency>
       <groupId>org.springframework.retry</groupId>
       <artifactId>spring-retry</artifactId>
@@ -146,13 +147,13 @@ under the License.
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter</artifactId>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-junit-jupiter</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-junit-jupiter</artifactId>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningContext.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningContext.java
index 88b8a961e4..24d3945af2 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningContext.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningContext.java
@@ -18,22 +18,14 @@
  */
 package org.apache.syncope.core.provisioning.java;
 
-import java.io.IOException;
-import java.io.PrintStream;
 import java.nio.charset.StandardCharsets;
 import java.util.Properties;
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ThreadPoolExecutor;
 import javax.annotation.Resource;
-import javax.mail.MessagingException;
-import javax.mail.Session;
-import javax.mail.Transport;
-import javax.naming.NamingException;
 import javax.sql.DataSource;
-import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.common.keymaster.client.api.ConfParamOps;
-import org.apache.syncope.common.lib.LogOutputStream;
 import org.apache.syncope.core.persistence.api.DomainHolder;
 import 
org.apache.syncope.core.persistence.api.attrvalue.validation.PlainAttrValidationManager;
 import org.apache.syncope.core.persistence.api.dao.AccessTokenDAO;
@@ -184,8 +176,6 @@ import 
org.apache.syncope.core.spring.security.jws.AccessTokenJWSSigner;
 import org.apache.syncope.core.workflow.api.AnyObjectWorkflowAdapter;
 import org.apache.syncope.core.workflow.api.GroupWorkflowAdapter;
 import org.apache.syncope.core.workflow.api.UserWorkflowAdapter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Qualifier;
 import 
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -200,9 +190,7 @@ import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.task.AsyncTaskExecutor;
 import org.springframework.core.task.support.TaskExecutorAdapter;
 import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
-import org.springframework.jndi.JndiObjectFactoryBean;
 import org.springframework.mail.javamail.JavaMailSender;
-import org.springframework.mail.javamail.JavaMailSenderImpl;
 import org.springframework.scheduling.annotation.AsyncConfigurer;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
@@ -214,8 +202,6 @@ import 
org.springframework.transaction.PlatformTransactionManager;
 @Configuration(proxyBeanMethods = false)
 public class ProvisioningContext {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(ProvisioningContext.class);
-
     @Resource(name = "MasterDataSource")
     private DataSource masterDataSource;
 
@@ -381,77 +367,6 @@ public class ProvisioningContext {
         return new JobStatusUpdater(jobStatusDAO, entityFactory);
     }
 
-    @ConditionalOnMissingBean
-    @Bean
-    public JavaMailSender mailSender(final ProvisioningProperties 
provisioningProperties)
-            throws IllegalArgumentException, IOException {
-
-        JavaMailSenderImpl mailSender = new JavaMailSenderImpl() {
-
-            @Override
-            protected Transport connectTransport() throws MessagingException {
-                // ensure that no auth means no auth
-                if (StringUtils.isBlank(getUsername())) {
-                    Transport transport = getTransport(getSession());
-                    transport.connect(getHost(), getPort(), null, null);
-                    return transport;
-                }
-
-                return super.connectTransport();
-            }
-        };
-        
mailSender.setDefaultEncoding(provisioningProperties.getSmtp().getDefaultEncoding());
-        mailSender.setHost(provisioningProperties.getSmtp().getHost());
-        mailSender.setPort(provisioningProperties.getSmtp().getPort());
-        mailSender.setUsername(provisioningProperties.getSmtp().getUsername());
-        mailSender.setPassword(provisioningProperties.getSmtp().getPassword());
-        mailSender.setProtocol(provisioningProperties.getSmtp().getProtocol());
-
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("[Mail] host:port = {}:{}", mailSender.getHost(), 
mailSender.getPort());
-            LOG.debug("[Mail] protocol = {}", mailSender.getProtocol());
-            LOG.debug("[Mail] username = {}", mailSender.getUsername());
-            LOG.debug("[Mail] default encoding = {}", 
mailSender.getDefaultEncoding());
-        }
-
-        JndiObjectFactoryBean mailSession = new JndiObjectFactoryBean();
-        mailSession.setJndiName("mail/syncopeNotification");
-        try {
-            mailSession.afterPropertiesSet();
-        } catch (NamingException e) {
-            LOG.debug("While looking up JNDI for mail session", e);
-        }
-
-        Session session = (Session) mailSession.getObject();
-        if (session == null) {
-            Properties javaMailProperties = mailSender.getJavaMailProperties();
-
-            provisioningProperties.getSmtp().getJavamailProperties().
-                    forEach((key, value) -> 
javaMailProperties.setProperty(key, value));
-
-            if (StringUtils.isNotBlank(mailSender.getUsername())) {
-                javaMailProperties.setProperty("mail.smtp.auth", "true");
-            }
-
-            if (LOG.isDebugEnabled()) {
-                mailSender.getJavaMailProperties().
-                        forEach((key, value) -> LOG.debug("[Mail] property: {} 
= {}", key, value));
-            }
-
-            if (provisioningProperties.getSmtp().isDebug()) {
-                session = mailSender.getSession();
-                session.setDebug(true);
-                try (LogOutputStream los = new LogOutputStream(LOG)) {
-                    session.setDebugOut(new PrintStream(los));
-                }
-            }
-        } else {
-            mailSender.setSession(session);
-        }
-
-        return mailSender;
-    }
-
     @ConditionalOnMissingBean
     @Bean
     public ConnectorManager connectorManager(
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningProperties.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningProperties.java
index 7375f3da7e..9eea8ace4c 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningProperties.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ProvisioningProperties.java
@@ -19,9 +19,7 @@
 package org.apache.syncope.core.provisioning.java;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import org.quartz.impl.jdbcjobstore.DriverDelegate;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
@@ -91,85 +89,6 @@ public class ProvisioningProperties {
         }
     }
 
-    public static class SMTPProperties {
-
-        private String host;
-
-        private int port = 25;
-
-        private String username;
-
-        private String password;
-
-        private String protocol = "smtp";
-
-        private String defaultEncoding = "UTF-8";
-
-        private boolean debug = false;
-
-        private final Map<String, String> javamailProperties = new HashMap<>();
-
-        public String getHost() {
-            return host;
-        }
-
-        public void setHost(final String host) {
-            this.host = host;
-        }
-
-        public int getPort() {
-            return port;
-        }
-
-        public void setPort(final int port) {
-            this.port = port;
-        }
-
-        public String getUsername() {
-            return username;
-        }
-
-        public void setUsername(final String username) {
-            this.username = username;
-        }
-
-        public String getPassword() {
-            return password;
-        }
-
-        public void setPassword(final String password) {
-            this.password = password;
-        }
-
-        public String getProtocol() {
-            return protocol;
-        }
-
-        public void setProtocol(final String protocol) {
-            this.protocol = protocol;
-        }
-
-        public String getDefaultEncoding() {
-            return defaultEncoding;
-        }
-
-        public void setDefaultEncoding(final String defaultEncoding) {
-            this.defaultEncoding = defaultEncoding;
-        }
-
-        public boolean isDebug() {
-            return debug;
-        }
-
-        public void setDebug(final boolean debug) {
-            this.debug = debug;
-        }
-
-        public Map<String, String> getJavamailProperties() {
-            return javamailProperties;
-        }
-    }
-
     private final ExecutorProperties asyncConnectorFacadeExecutor = new 
ExecutorProperties();
 
     private final ExecutorProperties propagationTaskExecutorAsyncExecutor = 
new ExecutorProperties();
@@ -180,8 +99,6 @@ public class ProvisioningProperties {
 
     private final QuartzProperties quartz = new QuartzProperties();
 
-    private final SMTPProperties smtp = new SMTPProperties();
-
     public String getVirAttrCacheSpec() {
         return virAttrCacheSpec;
     }
@@ -205,8 +122,4 @@ public class ProvisioningProperties {
     public QuartzProperties getQuartz() {
         return quartz;
     }
-
-    public SMTPProperties getSmtp() {
-        return smtp;
-    }
 }
diff --git 
a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/ProvisioningTestContext.java
 
b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/ProvisioningTestContext.java
index 5794382682..ce03a87c27 100644
--- 
a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/ProvisioningTestContext.java
+++ 
b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/ProvisioningTestContext.java
@@ -18,6 +18,8 @@
  */
 package org.apache.syncope.core.provisioning.java;
 
+import static org.mockito.Mockito.mock;
+
 import org.apache.syncope.common.keymaster.client.api.ConfParamOps;
 import org.apache.syncope.common.keymaster.client.api.DomainOps;
 import org.apache.syncope.core.persistence.api.DomainHolder;
@@ -34,6 +36,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.PropertySource;
+import org.springframework.mail.javamail.JavaMailSender;
 
 @PropertySource("classpath:core-test.properties")
 @Import({ ProvisioningContext.class, SecurityContext.class,
@@ -51,6 +54,11 @@ public class ProvisioningTestContext {
         return new TestInitializer(domainLoader, domainHolder, contentLoader, 
ctx);
     }
 
+    @Bean
+    public JavaMailSender javaMailSender() {
+        return mock(JavaMailSender.class);
+    }
+
     @Bean
     public ImplementationLookup implementationLookup() {
         return new DummyImplementationLookup();
diff --git a/core/starter/src/main/resources/core.properties 
b/core/starter/src/main/resources/core.properties
index 19b4ffaa7c..a24df7d357 100644
--- a/core/starter/src/main/resources/core.properties
+++ b/core/starter/src/main/resources/core.properties
@@ -73,17 +73,15 @@ 
provisioning.quartz.delegate=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
 provisioning.quartz.sql=tables_postgres.sql
 provisioning.quartz.disableInstance=false
 
-provisioning.smtp.host=none.syncope.apache.org
-provisioning.smtp.port=25
-provisioning.smtp.username=
-provisioning.smtp.password=
-provisioning.smtp.protocol=smtp
-provisioning.smtp.defaultEncoding=UTF-8
-provisioning.smtp.debug=false
-# Add more properties starting with mail.smtp.* from
-# 
https://javaee.github.io/javamail/docs/api/com/sun/mail/smtp/package-summary.html#properties
-provisioning.smtp.javamailProperties[mail.smtp.connectiontimeout]=3000
-provisioning.smtp.javamailProperties[mail.smtp.starttls.enable]=false
+#########
+# Email #
+#########
+spring.mail.host=none.syncope.apache.org
+spring.mail.port=25
+spring.mail.username=
+spring.mail.password=
+spring.mail.properties.mail.smtp.auth=false
+spring.mail.properties.mail.smtp.starttls.enable=false
 
 ############
 # Security #
diff --git a/fit/core-reference/src/main/resources/core-embedded.properties 
b/fit/core-reference/src/main/resources/core-embedded.properties
index d0d0fc45f2..e090f38c8b 100644
--- a/fit/core-reference/src/main/resources/core-embedded.properties
+++ b/fit/core-reference/src/main/resources/core-embedded.properties
@@ -71,5 +71,5 @@ provisioning.quartz.waitForJobsToCompleteOnShutdown=false
 provisioning.connIdLocation=${connid.location},\
 connid://${testconnectorserver.key}@localhost:${testconnectorserver.port}
 
-provisioning.smtp.host=localhost
-provisioning.smtp.port=${testmail.smtpport}
+spring.mail.host=localhost
+spring.mail.port=${testmail.smtpport}
diff --git 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationITCase.java
 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationITCase.java
index b713b9dfbc..4cff58885b 100644
--- 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationITCase.java
+++ 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationITCase.java
@@ -58,8 +58,7 @@ public class NotificationITCase extends AbstractITCase {
 
     @Test
     public void read() {
-        NotificationTO notificationTO = NOTIFICATION_SERVICE.read(
-                "9e2b911c-25de-4c77-bcea-b86ed9451050");
+        NotificationTO notificationTO = 
NOTIFICATION_SERVICE.read("9e2b911c-25de-4c77-bcea-b86ed9451050");
         assertNotNull(notificationTO);
     }
 
diff --git a/src/main/asciidoc/reference-guide/configuration/email.adoc 
b/src/main/asciidoc/reference-guide/configuration/email.adoc
index 03de6a9b2e..b10cf92dbd 100644
--- a/src/main/asciidoc/reference-guide/configuration/email.adoc
+++ b/src/main/asciidoc/reference-guide/configuration/email.adoc
@@ -21,59 +21,38 @@
 The `core.properties` file holds the configuration options to enable the 
effective delivery of
 <<notifications,notification>> e-mails:
 
-* `provisioning.smtp.host` - the mail server host, typically an SMTP host;
-* `provisioning.smtp.port` - the mail server port;
-* `provisioning.smtp.username` - (optional) the username for the account at 
the mail host;
-* `provisioning.smtp.password` - (optional) the password for the account at 
the mail host;
-* `provisioning.smtp.protocol` - the message transport protocol: `smtp` 
(default) and `smtps` are supported;
-* `provisioning.smtp.defaultEncoding` - the default encoding to use for MIME 
messages;
-* `provisioning.smtp.debug` - when `true`, enable the debugging of email 
processing including the handshake, authentication, delivery
- and disconnection; in order for this setting to be effective, it is also 
required to add the following elements to the
-`log4j2.xml` configuration file:
-[source,xml]
-<asyncLogger name="org.apache.syncope.core.provisioning.java.job.notification"
-             additivity="false" level="DEBUG">
-  <appender-ref ref="mainFile"/>
-  <appender-ref ref="main"/>
-</asyncLogger>
-<asyncLogger name="javax.mail" additivity="false" level="DEBUG">
-  <appender-ref ref="mainFile"/>
-  <appender-ref ref="main"/>
-</asyncLogger>
-* 
`provisioning.smtp.javamailProperties[provisioning.smtp.javamailProperties[mail.smtp.starttls.enable]]`
 - when `true`, enable the use of the `STARTTLS` command to switch the 
connection to a
+* `spring.mail.host` - the mail server host, typically an SMTP host;
+* `spring.mail.port` - the mail server port;
+* `spring.mail.username` - (optional) the username for the account at the mail 
host;
+* `spring.mail.password` - (optional) the password for the account at the mail 
host;
+* `spring.mail.properties.mail.smtp.auth` - when `true`, the configured 
`username` and `password` are sent to SMTP server;
+* `spring.mail.properties.mail.smtp.starttls.enable` - when `true`, enable the 
use of the `STARTTLS` command to switch the connection to a
 TLS-protected connection before issuing any login commands;
-* 
`provisioning.smtp.javamailProperties[provisioning.smtp.javamailProperties[mail.smtp.connectiontimeout]]`
 - the connection timeout value in milliseconds, to the mail host;
 
 All the 
https://javaee.github.io/javamail/docs/api/com/sun/mail/smtp/package-summary.html#properties[JavaMail(TM)
 properties^]
-are available for usage.
+are available for usage with prefix `spring.mail.properties.`.
 
 .Basic configuration, no authentication
 ====
 ....
-provisioning.smtp.host=your.local.smtp.server
-provisioning.smtp.port=25
-provisioning.smtp.username=
-provisioning.smtp.password=
-provisioning.smtp.protocol=smtp
-provisioning.smtp.defaultEncoding=UTF-8
-provisioning.smtp.debug=false
-provisioning.smtp.javamailProperties[mail.smtp.connectiontimeout]=3000
-provisioning.smtp.javamailProperties[mail.smtp.starttls.enable]=false
+spring.mail.host=your.local.smtp.server
+spring.mail.port=25
+spring.mail.username=
+spring.mail.password=
+spring.mail.properties.mail.smtp.auth=false
+spring.mail.properties.mail.smtp.starttls.enable=false
 ....
 ====
 
 .STARTTLS configuration, with authentication
 ====
 ....
-provisioning.smtp.host=smtp.gmail.com
-provisioning.smtp.port=587
-provisioning.smtp.username=your_usern...@gmail.com
-provisioning.smtp.password=your_password
-provisioning.smtp.protocol=smtp
-provisioning.smtp.defaultEncoding=UTF-8
-provisioning.smtp.debug=false
-provisioning.smtp.javamailProperties[mail.smtp.connectiontimeout]=3000
-provisioning.smtp.javamailProperties[mail.smtp.starttls.enable]=true
+spring.mail.host=smtp.gmail.com
+spring.mail.port=587
+spring.mail.username=your_usern...@gmail.com
+spring.mail.password=your_password
+spring.mail.properties.mail.smtp.auth=true
+spring.mail.properties.mail.smtp.starttls.enable=true
 ....
 ====
 

Reply via email to