Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Grails mail plugin issues with Gmail SMTP

I'm using the grails mail plugin (2.0.0.RC2) with Grails 3.0.7. This is my config:

mail:
        host: smtp.gmail.com
        port: 465
        username: [email protected]
        password: myPassword
        props:
          - mail.debug: true
          - mail.smtp.auth: true
          - mail.smtp.socketFactory.port: 465
          - mail.smtp.socketFactory.class: javax.net.ssl.SSLSocketFactory
          - mail.smtp.socketFactory.fallback: false

When I try to send a test mail, I get the following error:

Caused by: org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1. Failed messages: javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1
    at grails.plugins.mail.MailMessageBuilder.sendMessage(MailMessageBuilder.groovy:131) ~[mail-2.0.0.RC2.jar:na]
    at grails.plugins.mail.MailService.sendMail(MailService.groovy:55) ~[mail-2.0.0.RC2.jar:na]
    at grails.plugins.mail.MailService.sendMail(MailService.groovy:59) ~[mail-2.0.0.RC2.jar:na]
    at com.eduspace.ClassroomController.$tt__index(ClassroomController.groovy:13) ~[main/:na]
    at grails.transaction.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:93) ~[grails-core-3.0.7.jar:3.0.7]
    at grails.transaction.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:90) ~[grails-core-3.0.7.jar:3.0.7]
    ... 9 common frames omitted
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972) ~[javax.mail-1.5.1.jar:1.5.1]
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:656) ~[javax.mail-1.5.1.jar:1.5.1]
    at javax.mail.Service.connect(Service.java:345) ~[javax.mail-api-1.5.1.jar:1.5.1]
    ... 15 common frames omitted

I see no other debug information in the logs. I have the root logger set to INFO, so everything should be getting outputted. I've verified that I can telnet to smtp.gmail.com port 465, so that's not the issue. I've read that others have had issues with SSL, but then there's usually some debug information indicating an SSL issue and I don't get anything like that.

like image 375
cloudwalker Avatar asked Sep 30 '15 01:09

cloudwalker


2 Answers

I am using a slightly different config that works fine:

grails:
    mail:
        host: "smtp.gmail.com"
        port: 465
        username: "<username>@gmail.com"
        password: "<password>"
        props:
            mail.smtp.auth: "true"
            mail.smtp.socketFactory.port: "465"
            mail.smtp.socketFactory.class: "javax.net.ssl.SSLSocketFactory"
            mail.smtp.socketFactory.fallback: "false"

The mail config is inside in the grails placeholder and i am not using the dashes as in your example. Maybe this could be of help to you.

like image 186
Marco Avatar answered Sep 27 '22 02:09

Marco


This could ofcourse be wrong due to config error but one of the reason for this exact error message is gmail configuration. To avoid spam messages, gmail has started blocking access from apps that do not conform to latest security guidelines.

One easy way to avoid this error is to go to your gmail account and allow less secure apps.- https://www.google.com/settings/security/lesssecureapps

like image 34
saurabh Avatar answered Sep 26 '22 02:09

saurabh