Supabase Authentication에서 기본으로 제공하는 메일 서버는 시간당 발송 제한이 엄격한 편입니다.
회원가입 확인 메일이나 매직링크를 여러 번 테스트하다 보면 email rate limit exceeded 오류가 발생할 수 있습니다.
개발 환경에서 이메일 인증을 자주 테스트하거나 소규모 서비스를 운영한다면 Custom SMTP를 사용하는 것이 편리합니다.
이 글에서는 네이버 메일을 Supabase Custom SMTP로 설정하는 방법을 정리합니다.
구분 | Supabase 기본 메일 | 네이버 Custom SMTP |
|---|---|---|
용도 | 데모·초기 테스트 | 개발·소규모 운영 |
발송 제한 | 시간당 발송 한도가 낮음 | 네이버 메일 정책에 따름 |
발신자 | Supabase 기본 발신 주소 | 본인 |
주의: 네이버 개인 메일 SMTP는 개발 테스트나 소규모 서비스에 적합합니다.
사용자가 늘어나면 Resend, AWS SES 같은 트랜잭션 메일 서비스로 이전하는 것을 권장합니다.
네이버 메일에 접속합니다.
왼쪽 메뉴 하단의 환경설정을 클릭합니다.
POP3/IMAP 설정으로 이동합니다.
IMAP/SMTP 설정 탭을 선택합니다.
IMAP/SMTP 사용을 사용함으로 변경하고 저장합니다.
네이버 SMTP 서버 정보는 다음과 같습니다.
항목 | 값 |
|---|---|
SMTP 서버 |
|
SMTP 포트 |
|
비밀번호 | 애플리케이션 비밀번호 |
네이버 SMTP를 사용할 때는 네이버 로그인 비밀번호가 아닌 애플리케이션 비밀번호를 사용하는 것이 좋습니다.
네이버 내정보 → 보안설정으로 이동합니다.
2단계 인증을 설정합니다.
애플리케이션 비밀번호 관리에서 새로운 비밀번호를 생성합니다.
종류는 기타를 선택합니다.
이름은 Supabase와 같이 구분하기 쉬운 이름으로 지정합니다.
생성된 비밀번호를 복사해 둡니다.
애플리케이션 비밀번호는 생성 직후에만 확인할 수 있으므로 따로 보관해 두는 것이 좋습니다.
Supabase 프로젝트 대시보드에 접속합니다.
Project Settings → Authentication으로 이동합니다.
SMTP 설정 항목에서 Enable Custom SMTP를 활성화합니다.
아래 정보를 입력합니다.
Save를 클릭합니다.
항목 | 설정 값 | 설명 |
|---|---|---|
Sender email |
| 실제 발송에 사용할 네이버 주소 |
Sender name |
| 수신자에게 표시되는 발신자 이름 |
SMTP Host |
| 네이버 SMTP 서버 |
SMTP Port |
| SMTP 포트 |
SMTP Username |
|
|
SMTP Password | 애플리케이션 비밀번호 | 네이버 로그인 비밀번호가 아님 |
예를 들어 네이버 아이디가 myapp이라면 다음과 같이 설정할 수 있습니다.
Sender email: myapp@naver.com
Sender name: My App
SMTP Host: smtp.naver.com
SMTP Port: 465
SMTP Username: myapp
SMTP Password: (애플리케이션 비밀번호)
포트 설정에서 문제가 발생한다면 다음과 같이 변경해서 테스트해 볼 수 있습니다.
465 → SSL
587 → TLS
한쪽에서 연결이 되지 않는다면 다른 포트로 변경해 확인합니다.
Sender email과 SMTP Username은 같은 네이버 계정을 사용해야 합니다.
예를 들어 다음과 같이 설정합니다.
Sender email: myapp@naver.com
SMTP Username: myapp
Username에는 @naver.com을 붙이지 않습니다.
Error sending confirmation email회원가입이나 이메일 인증 과정에서 다음과 같은 오류가 발생할 수 있습니다.
{
"code": "unexpected_failure",
"message": "Error sending confirmation email"
}
이 경우 SMTP 인증 과정에서 문제가 발생했을 가능성이 있습니다.
Supabase의 Logs → Auth Logs에서 gomail, authentication failed, 535 등의 메시지가 있는지 확인해 보면 원인을 찾는 데 도움이 됩니다.
다음 항목도 함께 확인해 보세요.
네이버 IMAP/SMTP가 사용함으로 설정되어 있는지 확인
SMTP Username이 네이버 아이디와 일치하는지 확인
Username에 @naver.com을 붙이지 않았는지 확인
SMTP Password에 네이버 로그인 비밀번호가 아닌 애플리케이션 비밀번호를 입력했는지 확인
Sender email과 SMTP Username이 같은 계정인지 확인
SMTP Host가 smtp.naver.com인지 확인
비밀번호 앞뒤에 공백이 들어가지 않았는지 확인
465와 587 포트를 각각 테스트
네이버 개인 메일 SMTP는 개발 환경이나 소규모 서비스에는 사용할 수 있지만, 서비스 규모가 커지면 발송량이나 스팸 정책 등의 영향을 받을 수 있습니다.
프로덕션 환경에서는 Resend, AWS SES와 같은 트랜잭션 메일 서비스를 사용하는 것을 권장합니다.
특히 자체 도메인을 사용한다면 전용 이메일 발송 서비스를 사용하는 편이 관리와 확장성 측면에서도 유리합니다.
Supabase에서 이메일 인증을 자주 테스트하다가 email rate limit exceeded 오류가 발생한다면 Custom SMTP를 사용하는 방법이 있습니다.
설정 과정은 크게 다음과 같습니다.
네이버 메일에서 IMAP/SMTP 사용을 활성화합니다.
네이버 2단계 인증을 설정합니다.
애플리케이션 비밀번호를 생성합니다.
Supabase Authentication에서 Custom SMTP를 활성화합니다.
SMTP Host에 smtp.naver.com을 입력합니다.
Username에는 네이버 아이디만 입력합니다.
Password에는 애플리케이션 비밀번호를 입력합니다.
SMTP 포트는 465 또는 587을 사용합니다.
이렇게 설정하면 Supabase의 회원가입 확인 메일이나 매직링크를 네이버 SMTP를 통해 발송할 수 있습니다.