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



##########
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:
       > Hmmm... We should not rely on a port number to decide whether to 
enable SSL. We should simply have a config parameter to turn it on or off. 
People can choose to run their mail servers on whatever port they feel like...
   
   @ptuomola  please note that 
   **useTLS = YES** is a condition that must be set for port 587 and 465 to 
successfully send mail (as i test it on linux 16 and 18) if one installs ssmpt 
server
   
   **UseSTARTTLS=YES** if enabled with port 465 in use - mails will not go  yet 
it is a must for port 587 for mails to go successfully
   




----------------------------------------------------------------
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