francisguchie commented on a change in pull request #1597:
URL: https://github.com/apache/fineract/pull/1597#discussion_r579084712



##########
File path: 
fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/service/GmailBackedPlatformEmailService.java
##########
@@ -55,31 +54,42 @@ public void sendToUserAccount(String organisationName, 
String contactName, Strin
 
     @Override
     public void sendDefinedEmail(EmailDetail emailDetails) {
-        final Email email = new SimpleEmail();
         final SMTPCredentialsData smtpCredentialsData = 
this.externalServicesReadPlatformService.getSMTPCredentials();
 
         final String authuser = smtpCredentialsData.getUsername();
         final String authpwd = smtpCredentialsData.getPassword();
 
-        // Very Important, Don't use email.setAuthentication()
-        email.setAuthenticator(new DefaultAuthenticator(authuser, authpwd));
-        email.setDebug(false); // true if you want to debug
-        email.setHostName(smtpCredentialsData.getHost());
+        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
+        mailSender.setHost(smtpCredentialsData.getHost()); // smtp.gmail.com
+        mailSender.setPort(Integer.parseInt(smtpCredentialsData.getPort())); 
// 587
+
+        // Important: Enable less secure app access for the gmail account used 
in the following authentication
+
+        mailSender.setUsername(authuser); // use valid gmail address
+        mailSender.setPassword(authpwd); // use password of the above gmail 
account
+
+        Properties props = mailSender.getJavaMailProperties();
+        props.put("mail.transport.protocol", "smtp");
+        props.put("mail.smtp.auth", "true");
+        props.put("mail.debug", "true");
 
         try {
             if (smtpCredentialsData.isUseTLS()) {
-                // FINERACT-1070: NOT email.setSSLOnConnect(true); 
email.setSslSmtpPort(smtpCredentialsData.getPort());
-                email.setStartTLSRequired(true);
+                if (smtpCredentialsData.getPort().equals("465")) {

Review comment:
       > We read the port from smtpCredentials and just check the port number 
to make sure whether we want to enable ssl or not
   
   yes @BLasan  - we are reading if the port is 587 then we set UseSTARTTLS=YES 
if port 465 then we set it to false and this condition works very well in my 
view as it avoids un-necessary errors that shall come from the servers 




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to