๋ก์ปฌ ํ๊ฒฝ์์ ์ด๋ฉ์ผ ๋ฐ์ก ์คํต ๋ฏธ์ ์ฉ์ผ๋ก ์ธํ 500 ์ค๋ฅ
1. ๋ฐ์ ๋ฐฐ๊ฒฝ
์ด๋ฉ์ผ ์ธ์ฆ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ค Postman์ผ๋ก /auth/email/send API๋ฅผ ์ฒ์ ํ
์คํธํ๋ ๊ณผ์ ์์ 500 ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
๋ก์ปฌ ํ๊ฒฝ์์๋ ์ค์ Gmail SMTP๋ก ์ด๋ฉ์ผ์ ๋ฐ์กํ์ง ์๊ณ , ์ธ์ฆ ์ฝ๋๋ฅผ ์ฝ์ ๋ก๊ทธ๋ก ํ์ธํ๋๋ก ์ฒ๋ฆฌํ๋ ค๊ณ ํ๋ค. ํ์ง๋ง ์๋์ ๋ฌ๋ฆฌ ๋ก์ปฌ ํ ์คํธ ์ค ์ค์ Gmail SMTP ์ธ์ฆ์ด ์๋๋๋ฉด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
2. ๋ฌธ์
์ด๋ฉ์ผ ์ธ์ฆ ์ฝ๋ ๋ฐ์ก API๋ฅผ ํธ์ถํ์ ์๋ฒ์์ 500 ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์์ธ์ ๋ก์ปฌ ํ๊ฒฝ์์ ์ค์ Gmail SMTP ์ธ์ฆ์ ์๋ํ๋ค๊ฐ ์ธ์ฆ์ ์คํจํ ๊ฒ์ด์๋ค.
org.springframework.mail.MailAuthenticationException: Authentication failed
Caused by: jakarta.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted.

Postman์์ /auth/email/send API๋ฅผ ํธ์ถํ์ ๋ ๋ฐ์ํ 500 ์ค๋ฅ ์๋ต์ด๋ค.
3. ์์ธ ํ์ ๊ณผ์
- 500 ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง๋ง ์ฝ์์ ์์ธ ๋ก๊ทธ๊ฐ ์ถ๋ ฅ๋์ง ์์ ์์ธ ํ์ ์ด ์ด๋ ค์ ๋ค.
GlobalExceptionHandler์log.error๋ฅผ ์ถ๊ฐํ ๋ค ๋ค์ ํ ์คํธํ๋ค.- ์คํํธ๋ ์ด์ค๋ฅผ ํตํด
MailAuthenticationException์ด ๋ฐ์ํ ๊ฒ์ ํ์ธํ๋ค. activeProfile๋ก๊ทธ๋ฅผ ์ถ๊ฐํด ์ค์ ์คํ ํ๋กํ์ผ์ดdev๋ก ์กํ ๊ฒ์ ํ์ธํ๋ค.- ๋ฉ์ผ ๋ฐ์ก ์คํต ์กฐ๊ฑด์ ์์ ํ ๋ค ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋ค.
1๋จ๊ณ - ๋ก๊ทธ ๋ฏธ์ถ๋ ฅ์ผ๋ก ์์ธ ํ์ ์ง์ฐ
์ฒ์์๋ 500 ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง๋ง ์ฝ์์ ์คํํธ๋ ์ด์ค๊ฐ ์ถ๋ ฅ๋์ง ์์๋ค. ์์ธ์ GlobalExceptionHandler์ Exception ํธ๋ค๋ฌ์ log.error๊ฐ ์์๊ธฐ ๋๋ฌธ์ด๋ค.
์๋ฒ ๋ด๋ถ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ ๋ก๊ทธ๊ฐ ๋จ์ง ์์ผ๋ฉด, ํด๋ผ์ด์ธํธ์์๋ ๋จ์ํ 500 ์๋ต๋ง ํ์ธํ ์ ์์ด ์ค์ ์์ธ์ ์ฐพ๊ธฐ ์ด๋ ต๋ค.
2๋จ๊ณ - activeProfile ๋ถ์ผ์น
๋ก์ปฌ ํ๊ฒฝ์์ ๋ฉ์ผ ๋ฐ์ก์ ์คํตํ๊ธฐ ์ํด ์ฒ์์๋ activeProfile์ด local์ธ์ง ์ฌ๋ถ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถ๊ธฐํ๋ค.

์ด๊ธฐ์๋ activeProfile์ด local์ผ ๋๋ง ์ด๋ฉ์ผ ๋ฐ์ก์ ์คํตํ๋๋ก ์์ฑํ๋ค.
ํ์ง๋ง ์ค์ ์คํ ํ๋กํ์ผ์ local์ด ์๋๋ผ dev๋ก ์กํ ์์๋ค. ๊ทธ๋์ ์คํต ๋ถ๊ธฐ๋ฅผ ํ์ง ์๊ณ ์ค์ ๋ฉ์ผ ๋ฐ์ก ๋ก์ง์ด ์คํ๋์๋ค.
[DEBUG] activeProfile: dev
local์ด์ด์ผ ์คํต๋๋๋ฐ dev๋ก ์กํ ์ค์ Gmail SMTP ๋ฐ์ก์ ์๋ํ๋ค.
4. ํด๊ฒฐ
1. GlobalExceptionHandler์ log.error ์ถ๊ฐ
๋จผ์ ์๋ฒ ๋ด๋ถ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ ์์ธ์ ๋น ๋ฅด๊ฒ ํ์ธํ ์ ์๋๋ก GlobalExceptionHandler์ log.error๋ฅผ ์ถ๊ฐํ๋ค.

์ด ์์ ์ดํ 500 ์ค๋ฅ ๋ฐ์ ์ ์ฝ์์์ ์คํํธ๋ ์ด์ค๋ฅผ ํ์ธํ ์ ์์๊ณ , ์ค์ ์์ธ์ด MailAuthenticationException์ด๋ผ๋ ๊ฒ์ ํ์
ํ ์ ์์๋ค.
[GlobalExceptionHandler] ์๋ฒ ๋ด๋ถ ์ค๋ฅ ๋ฐ์
org.springframework.mail.MailAuthenticationException: Authentication failed
at ...
Caused by: jakarta.mail.AuthenticationFailedException: 535-5.7.8 ...
at ...

2. ์คํต ์กฐ๊ฑด์ prod์ผ ๋๋ง ๋ฐ์กํ๋๋ก ๋ณ๊ฒฝ
๊ธฐ์กด ๋ฐฉ์์ local์ด ์๋ ๋ ๋ฉ์ผ์ ๋ฐ์กํ๋ ๊ตฌ์กฐ์๋ค. ํ์ง๋ง ์ค์ ๋ก์ปฌ ์คํ ํ๋กํ์ผ์ด dev๋ก ์กํ๋ฉด์, ๊ฐ๋ฐ ํ๊ฒฝ์์๋ ์ค์ ๋ฉ์ผ ๋ฐ์ก์ด ์๋๋๋ ๋ฌธ์ ๊ฐ ์์๋ค.
๊ทธ๋์ ํน์ ๊ฐ๋ฐ ํ๋กํ์ผ์ ์ ์ธํ๋ ๋ฐฉ์ ๋์ , ์ด์ ํ๋กํ์ผ์ธ prod์ผ ๋๋ง ์ค์ ๋ฉ์ผ์ ๋ฐ์กํ๋๋ก ์กฐ๊ฑด์ ๋ณ๊ฒฝํ๋ค.

activeProfile์ด prod์ผ ๋๋ง ์ค์ ์ด๋ฉ์ผ์ ๋ฐ์กํ๊ณ , ๊ทธ ์ธ ํ๊ฒฝ์์๋ ์ธ์ฆ ์ฝ๋๋ฅผ ๋ก๊ทธ๋ก ์ถ๋ ฅํ๋๋ก ๋ณ๊ฒฝํ ์ฝ๋๋ค.

์ด๋ฉ์ผ ๋ฐ์ก ์คํต ์กฐ๊ฑด์ ์์ ํ ๋ค /auth/email/send API๊ฐ ์ ์ ์๋ตํ ํ๋ฉด์ด๋ค.

๋ก์ปฌ ํ๊ฒฝ์์๋ ์ค์ ์ด๋ฉ์ผ ๋ฐ์ก ๋์ ์ธ์ฆ ์ฝ๋๊ฐ ์ฝ์ ๋ก๊ทธ๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์ด์ ํ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ์๋ ์ค์ Gmail SMTP ์ธ์ฆ์ ์๋ํ์ง ์๊ฒ ๋์๊ณ , ๋ก์ปฌ์์๋ ์ธ์ฆ ์ฝ๋๋ฅผ ๋ก๊ทธ๋ก ํ์ธํ๋ฉด์ ์ด๋ฉ์ผ ์ธ์ฆ ํ๋ฆ์ ํ ์คํธํ ์ ์๊ฒ ๋์๋ค.
5. ์ฐธ๊ณ
GlobalExceptionHandler์๋log.error๋ฅผ ํฌํจํด์ผ 500 ์ค๋ฅ ์์ธ์ ๋น ๋ฅด๊ฒ ํ์ ํ ์ ์๋ค.- ํ๊ฒฝ๋ณ ๋ถ๊ธฐ๋
local,dev์ฒ๋ผ ํน์ ํ๋กํ์ผ์ ํ๋์ฉ ๋ช ์ํ๋ ๊ฒ๋ณด๋คprod๋ง ๋ช ์ํ๋ ๋ฐฉ์์ด ๋ ์์ ํ๋ค. - ๋ก์ปฌ ํ๊ฒฝ์์ ์ธ์ฆ ์ฝ๋๋ ์ฝ์ ๋ก๊ทธ๋ก ํ์ธํ๋๋ก ์ฒ๋ฆฌํ๋ฉด ๊ฐ๋ฐ ์ค SMTP ์ธ์ฆ ์ ๋ณด ์์ด ํ ์คํธํ ์ ์๋ค.
6. ๋ฐฐ์ด ์
๋ก์ปฌ ํ๊ฒฝ ๋ถ๊ธฐ ์กฐ๊ฑด์ local์ด ์๋๋ฉด๋ณด๋ค prod์ผ ๋๋ง์ผ๋ก ์์ฑํ๋ ๊ฒ์ด ๋ ์์ ํ๋ค. ํ๋กํ์ผ์ด ์ถ๊ฐ๋๊ฑฐ๋ ๋ณ๊ฒฝ๋๋ ์ํฉ์์๋ ์ด์ ํ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ ์ค์ ์ธ๋ถ ์๋น์ค ํธ์ถ์ ๋ง์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.