업무
google 메일 전송을 위한 SMTP 세팅 방법 (25년 버전)
goresign
2025. 1. 16. 20:35
고객사에 메일 발송 기능을 새로 개발하면서 테스트하던 중
기존에 잘 쓰던 테스트계정으로는 권한이 없다고 메일 발송이 안되는 문제가 발생했다.
( 530 Authentication Required 에러 발생 )
확인해 보니 정책이 변경된 지 얼마 안됐었다.
2025년 1월부터, Google Workspace 계정은 사용자 이름과 비밀번호만을 사용해 Google 계정에 로그인하도록 요청하는 보안 수준이 낮은 앱, 서드 파티 앱 또는 기기를 더 이상 지원하지 않습니다
그래서 설정을 다시 하면서 기록
설정방법 요약
기존 :
-> 구글 계정 설정에서 '보안 수준이 낮은 앱 허용' 활성화 후 진행
mail.host=smtp.gmail.com
mail.port=587
mail.prop.smtp.auth=false
mail.username=test@gmail.com #예시
mail.password=mypassword123 #예시
수정 :
-> 이중 인증 사용
-> 앱 비밀번호 설정
mail.host=smtp.gmail.com
mail.port=587
mail.prop.smtp.auth=true
mail.prop.smtp.starttls.enable=true
mail.username=test@gmail.com #예시
mail.password=ffybzxwsjayiyduf #예시, 16자 공백 없이 입력
smtp gmail 설정 상세 순서
1. Google 계정 관리 탭 > 보안 > 2단계 인증 설정
2. 보안 > 앱 비밀번호
3. 앱 비밀번호 생성
앱 이름에 설정할 이름을 입력하면 비밀번호가 생성된다.
4. 생성된 비밀번호로 입력
기존에는 보안 수준을 낮추고 발신자 gmail 계정의 암호를 입력했던 것 같은데
이제는 구글이 생성한 16자리의 앱 비밀번호를 입력해야 한다.
이렇게 받은 정보로 상단에 설정방법 요약 처럼 입력하면 구글 메일 발송이 잘 된다!
번외
starttls.enable=true 설정이 필요한가? 에 대한 GPT 답변
반드시 필요합니다.
Gmail SMTP 서버는 2025년 이후로도 보안 연결을 강제하기 때문에, starttls.enable=true 설정이 없으면 메일 전송이 불가능합니다.
기술적 이유
- starttls.enable=true는 TLS 사용을 명시적으로 선언하는 역할을 합니다.
- 만약 설정하지 않는다면:
- 연결이 암호화되지 않아 Gmail SMTP 서버에서 연결 요청을 거부합니다.
- 결과적으로 530 Authentication Required와 같은 에러가 발생합니다.