Naanavanalla
Naanavanalla

Reputation: 1522

Unable to send email from AWS using SMTP protocol

In my spring-boot application, I can send email using org.springframework.mail.javamail.JavaMailSender from my local setup. However, after deploying to AWS I am unable to send email. It is throwing the error,

Authentication failed; nested exception is     javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbss
534-5.7.14 81d4zB6x24lGRvkee9GW4_xNnf7k6S2adqZ9bepB7TGxyKq-r_rUa225_apBlrzIRsr59E
534-5.7.14 Wo0VyVpoc6Nt-SxArWOjtMJcVw_j0heIv3DIhNg26lbkgAxJSSYw7Hdhq6DGexeWUreVmp
534-5.7.14 mj78W7HUhbjzBkiPFVwEMCtbNRmpOqzpajqEinyNmOHNCJiec3s14jzdIGz4H6iChWAFwf
534-5.7.14 lpxfs9yfXuNwgkPDd_7CVWv049PSc> Please log in via your web browser and
534-5.7.14 then try again.
534-5.7.14  Learn more at
534 5.7.14  https://support.google.com/mail/answer/78754 u51sm7087939qth.67 - gsmtp

at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:424)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:307)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:296)
at com.highpeak.gbi.webservices.utils.mail.GmailSenderUtil.sendMail(GmailSenderUtil.java:49)
at com.highpeak.gbi.webservices.services.impl.UserServicesImpl.lambda$sendAlertInAThread$0(UserServicesImpl.java:160)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbss
534-5.7.14 81d4zB6x24lGRvkee9GW4_xNnf7k6S2adqZ9bepB7TGxyKq-r_rUa225_apBlrzIRsr59E
534-5.7.14 Wo0VyVpoc6Nt-SxArWOjtMJcVw_j0heIv3DIhNg26lbkgAxJSSYw7Hdhq6DGexeWUreVmp
534-5.7.14         mj78W7HUhbjzBkiPFVwEMCtbNRmpOqzpajqEinyNmOHNCJiec3s14jzdIGz4H6iChWAFwf
534-5.7.14 lpxfs9yfXuNwgkPDd_7CVWv049PSc> Please log in via your web     browser and
534-5.7.14 then try again.
534-5.7.14  Learn more at
534 5.7.14  https://support.google.com/mail/answer/78754 u51sm7087939qth.67 - gsmtp

at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:932)
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:843)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:748)
at javax.mail.Service.connect(Service.java:366)
at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:501)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:421)
... 5 common frames omitted
2017-Sep-26 14:57:08.289 ERROR [Thread-7] c.h.g.w.s.i.UserServicesImpl - error
com.highpeak.gbi.webservices.uiresponse.DataException: null
at         com.highpeak.gbi.webservices.utils.mail.GmailSenderUtil.sendMail(GmailSenderUtil.java:56)
at         com.highpeak.gbi.webservices.services.impl.UserServicesImpl.lambda$sendAlertInAThread$0(UserServicesImpl.java:160)
at java.lang.Thread.run(Thread.java:748)

My application.properties file is configured as

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/gbi?        useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=****
spring.datasource.password=******
spring.datasource.pool.size=20
spring.jpa.hibernate.ddl-auto=update
server.port=8090
logging.path=/ebs/logs/
logging.file=/ebs/logs/gbi.log
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR
logging.pattern.console=%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread]     %logger{15} - %msg%n


spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=*****@gmail.com
spring.mail.password=***********
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true


glg.userName=********
glg.password=********
glg.senderId=*******
glg.route=*

What might be the issue. I tried turning-on allow low security app access in gmail settings. But it is still not working

Upvotes: 1

Views: 1013

Answers (1)

Naanavanalla
Naanavanalla

Reputation: 1522

It seems there is no problem in the code and there is no problem in AWS configuration. It was gmail which was blocking login attempt. So I have to do two things,

 1. turn on Allow less secure apps in settings

 2. go to `https://accounts.google.com/DisplayUnlockCaptcha and click continue

And everything works fine!!!

Upvotes: 5

Related Questions