먼저 의심해볼 부분은 계정 로그인 보안 설정에서
2단계 인증
- 앱 비밀번호
를 설정 한 후,
email 발송 계정의 비밀번호
에 앱 비밀번호
를 저장했는지 확인해 볼 것
application.yml 설정 파일에서
spring.mail.properties.mail.debug = true
로 설정해주면
관련 기능이 실행 될 때 로그를 볼 수 있다.
오 너무 신기하다
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false
220 smtp.gmail.com ESMTP j3-.11 - gsmtp
DEBUG SMTP: connected to host "smtp.gmail.com", port: 587
EHLO 192.0.0.1
250-smtp.gmail.com at your service, [211.0.0.1]
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 192.0.0.1
250-smtp.gmail.com at your service, [211.0.0.1]
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=adsd.test@gmail.com, 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
Authentication failed; nested exception is javax.mail.AuthenticationFailedException: 534-5.7.9 Application-specific password required. Learn more at
534 5.7.9 https://support.google.com/mail/?p=InvalidSecondFactor j3-.11 - gsmtp
나의 로그인 실패 이유는 Application-specific password required
이것인가
Authentication failed;
nested exception is javax.mail.AuthenticationFailedException: 534-5.7.9
Application-specific password required
찾아보니 2단계 인증이 설정되어서 그렇다고 한다.
2단계 인증을 해제해주고 다시 메일 전송 시도!
실패 ㅋㅋ
왤깡
검색해보다 보안수준을 낮추라고 하는 글을 봤었는데
이렇게.. 22년 5월 30일부터 통하지 않게 된 방법이었다.
다시 검색해보니 2단계 인증과 앱 비밀번호 설정을 해주라고 했다.
참고한 블로그 : @hyemin0111
2단계 인증을 먼저 설정한다.
(위에 있는 비밀번호는 삭제함!)
메일 전송 계정 비밀번호를 위에서 발급받은 앱 비밀번호로 변경해준다.
나는 여기서 pwd 부분에 입력해줌.
오예
너무 신기하다
성공!
구현을 내가 한게 아니라서 정리해야 하나 싶었지만
다음에 구현하게 될 수도 있으니
도움이 될까 싶어 남김!