Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Problemas ao tentar enviar e-mail equeci-minha-senha

Olá, bom dia! Estou tendo dificuldades para enviar e-mail para recuperação de senha da aplicação Voll Med. Criei as variáveis de ambiente. Na variável EMAIL_USERNAME, atribuí o valor do e-mail ao qual vai enviar a mensagem, que é crocodilo@gmail.com (fiquei em dúvida se era pra colocar só o crocodilo ou se o @gmail.com também entrava). Na variável EMAIL_PASSWORD, coloquei a que o google informou com 16 caracteres (fiquei na dúvida se colocava com ou sem os espaços, mas coloquei com os espaços, tal qual foi gerada). O erro que aparece no console é: 2025-04-07T11:02:05.079-03:00 WARN 10044 --- [web-application] [nio-8080-exec-8] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.mail.MailAuthenticationException: Authentication failed]

Desde já agradeço a atenção disponibilizada!

3 respostas

Ao adidionar spring.mail.properties.mail.debug=true no properties, o debug deu isso:

DEBUG: Jakarta Mail version 2.1.3
DEBUG: URL jar:file:/C:/Users/Marcio/.m2/repository/org/eclipse/angus/jakarta.mail/2.0.3/jakarta.mail-2.0.3.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/C:/Users/Marcio/.m2/repository/org/eclipse/angus/jakarta.mail/2.0.3/jakarta.mail-2.0.3.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {org.eclipse.angus.mail.imap.IMAPStore=jakarta.mail.Provider[STORE,imap,org.eclipse.angus.mail.imap.IMAPStore,Oracle], org.eclipse.angus.mail.smtp.SMTPTransport=jakarta.mail.Provider[TRANSPORT,smtp,org.eclipse.angus.mail.smtp.SMTPTransport,Oracle], org.eclipse.angus.mail.pop3.POP3Store=jakarta.mail.Provider[STORE,pop3,org.eclipse.angus.mail.pop3.POP3Store,Oracle], org.eclipse.angus.mail.pop3.POP3SSLStore=jakarta.mail.Provider[STORE,pop3s,org.eclipse.angus.mail.pop3.POP3SSLStore,Oracle], org.eclipse.angus.mail.smtp.SMTPSSLTransport=jakarta.mail.Provider[TRANSPORT,smtps,org.eclipse.angus.mail.smtp.SMTPSSLTransport,Oracle], org.eclipse.angus.mail.imap.IMAPSSLStore=jakarta.mail.Provider[STORE,imaps,org.eclipse.angus.mail.imap.IMAPSSLStore,Oracle]}
DEBUG: Providers Listed By Protocol: {imap=jakarta.mail.Provider[STORE,imap,org.eclipse.angus.mail.imap.IMAPStore,Oracle], smtp=jakarta.mail.Provider[TRANSPORT,smtp,org.eclipse.angus.mail.smtp.SMTPTransport,Oracle], pop3=jakarta.mail.Provider[STORE,pop3,org.eclipse.angus.mail.pop3.POP3Store,Oracle], imaps=jakarta.mail.Provider[STORE,imaps,org.eclipse.angus.mail.imap.IMAPSSLStore,Oracle], smtps=jakarta.mail.Provider[TRANSPORT,smtps,org.eclipse.angus.mail.smtp.SMTPSSLTransport,Oracle], pop3s=jakarta.mail.Provider[STORE,pop3s,org.eclipse.angus.mail.pop3.POP3SSLStore,Oracle]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: URL jar:file:/C:/Users/Marcio/.m2/repository/org/eclipse/angus/jakarta.mail/2.0.3/jakarta.mail-2.0.3.jar!/META-INF/javamail.address.map
DEBUG: successfully loaded resource: jar:file:/C:/Users/Marcio/.m2/repository/org/eclipse/angus/jakarta.mail/2.0.3/jakarta.mail-2.0.3.jar!/META-INF/javamail.address.map
DEBUG: getProvider() returning jakarta.mail.Provider[TRANSPORT,smtp,org.eclipse.angus.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false
220 smtp.gmail.com ESMTP d75a77b69052e-4791b121de1sm60548411cf.60 - gsmtp
DEBUG SMTP: connected to host "smtp.gmail.com", port: 587
EHLO 10.11.2.239
250-smtp.gmail.com at your service, [200.239.107.17]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
DEBUG SMTP: Found extension "SIZE", arg "35882577"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "CHUNKING", arg ""
DEBUG SMTP: Found extension "SMTPUTF8", arg ""
STARTTLS
220 2.0.0 Ready to start TLS
EHLO 10.11.2.239
250-smtp.gmail.com at your service, [200.239.107.17]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
DEBUG SMTP: Found extension "SIZE", arg "35882577"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH"
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "CHUNKING", arg ""
DEBUG SMTP: Found extension "SMTPUTF8", arg ""
DEBUG SMTP: protocolConnect login, host=smtp.gmail.com, user=${EMAIL_USERNAME}, password=<non-null>
DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM XOAUTH2 
DEBUG SMTP: Using mechanism LOGIN
DEBUG SMTP: AUTH LOGIN command trace suppressed
DEBUG SMTP: AUTH LOGIN failed
2025-04-07T11:31:37.056-03:00  WARN 17504 --- [web-application] [nio-8080-exec-6] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.mail.MailAuthenticationException: Authentication failed]

Oi Márcio! Tudo bem?

No campo de email, você não deve usar o email para quem quer enviar as mensagens, e sim o email que você (enquanto desenvolvedor) tem acesso. É como se fosse o email da clínica (ou da empresa onde você está programando). Iremos usar o email do usuário (para quem você quer enviar a mensagem de recuperação de senha) somente quando ele solicitar, via formulário.

Sobre as variáveis de ambiente, os espaços e o @gmail.com entram sim.

Espero ter ajudado! Se continuar com problemas, me avise aqui por favor.

Abraços e bons estudos!

solução!

Deu certo, mas adicionando o email (EMAIL_USERNAME) e senha (EMAIL_PASSWORD) diretamente no properties. Utilizando variáveis de ambiente não funcionou. Vou deixar assim pra adiantar o curso, obrigado pelo retorno.