2026년 6월 3일부터 새로 만든 무료 플랜 프로젝트가 Supabase 기본 이메일 발송 서비스를 쓰는 경우 인증 메일 템플릿을 수정할 수 없습니다. 한국어 확인 메일이 필요하다면 유료 플랜을 사용하거나, 무료 플랜에서도 직접 설정한 custom SMTP를 연결해야 합니다.- Supabase 회원가입 기능은 어떻게 동작하나
- Supabase Auth에서 이메일 회원가입 설정 확인하기
- 확인 메일 템플릿을 한국어로 수정하기
- 확인 링크 변수는 반드시 유지하기
- 테스트 회원가입으로 확인하기
- 마무리 체크리스트
Supabase 회원가입 기능은 어떻게 동작하나

Supabase Auth를 사용하면 직접 인증 서버를 만들지 않고도 이메일 회원가입, 로그인, 비밀번호 재설정 같은 기본 인증 기능을 빠르게 붙일 수 있습니다. 사용자가 이메일과 비밀번호를 입력해 가입하면 Supabase는 해당 사용자를 auth.users에 등록하고, 설정에 따라 이메일 확인 메일을 자동으로 발송합니다.
이때 중요한 흐름은 가입 요청, 확인 메일 발송, 사용자의 링크 클릭, 이메일 인증 완료입니다. 이메일 확인을 켜 두면 사용자는 메일함에서 확인 링크를 눌러야 정상적으로 인증된 계정이 됩니다. 반대로 확인 과정을 꺼 두면 가입 직후 바로 로그인 가능한 상태가 될 수 있습니다.
실제 서비스에서는 이메일 확인을 켜는 편이 안전합니다. 잘못 입력한 이메일, 임시 주소, 타인의 이메일로 가입하는 문제를 줄일 수 있고, 이후 비밀번호 재설정이나 알림 메일을 보낼 때도 계정 소유자를 더 신뢰할 수 있습니다.
이메일 회원가입과 확인 메일의 역할
이메일 회원가입은 사용자가 입력한 이메일 주소를 계정의 식별자로 사용하는 방식입니다. 프론트엔드에서는 보통 signUp 함수나 supabase.auth.signUp API를 호출해 가입을 요청합니다. 요청이 성공하면 Supabase가 내부적으로 사용자를 만들고, 이메일 확인 설정이 켜져 있으면 가입 확인 메일을 보냅니다.
확인 메일은 단순한 안내 메일이 아니라 인증 흐름의 일부입니다. 사용자가 메일 안의 확인 링크를 클릭하면 Supabase가 토큰을 검증하고 이메일 확인 상태를 업데이트합니다. 따라서 메일 본문을 수정할 때도 확인 링크와 관련된 변수는 그대로 유지해야 합니다.
한국어 서비스에서 메일 문구를 바꿔야 하는 이유
기본 확인 메일이 영어로 발송되면 한국어 사용자에게는 낯설게 느껴질 수 있습니다. 특히 아직 브랜드 신뢰가 충분하지 않은 초기 서비스라면, 영어 제목의 인증 메일은 스팸이나 피싱 메일처럼 보일 가능성도 있습니다.
회원가입 직후 사용자가 가장 먼저 마주하는 외부 접점이 확인 메일입니다. 그래서 제목, 안내 문구, 버튼 문구를 서비스 톤에 맞게 바꾸는 작업은 단순 번역이 아니라 가입 전환율과 신뢰감을 함께 다루는 설정에 가깝습니다.
Supabase Auth에서 이메일 회원가입 설정 확인하기
먼저 Supabase 프로젝트 대시보드를 엽니다. 왼쪽 메뉴에서 Authentication을 선택하면 사용자 인증과 관련된 설정을 살펴볼 수 있습니다. 여기에서 이메일 회원가입을 사용할지, 가입 확인 메일을 보낼지, 리디렉션 URL을 어떻게 처리할지 점검합니다.
프로젝트를 처음 만든 상태라면 이메일 기반 인증이 기본적으로 준비되어 있는 경우가 많지만, 서비스 배포 전에는 반드시 현재 설정을 직접 확인하는 것이 좋습니다. 개발 중에 테스트를 위해 설정을 바꿨다가 그대로 배포하는 일이 생각보다 자주 발생합니다.
Authentication 메뉴로 이동하기
Supabase Dashboard에서 대상 프로젝트를 연 뒤 왼쪽 사이드바의 Authentication 메뉴를 클릭합니다. 이후 Providers 또는 Sign In / Providers 영역에서 이메일 제공자 설정을 확인합니다. 화면 구성은 Supabase 대시보드 업데이트에 따라 조금 달라질 수 있지만, 발행 직전 기준으로 Authentication, Providers, Email 또는 Email Templates 위치를 실제 프로젝트 화면에서 한 번 더 대조해 두는 것이 좋습니다.
Email Provider와 Confirm email 설정 확인하기
Email 제공자가 활성화되어 있어야 사용자가 이메일과 비밀번호로 가입할 수 있습니다. 또한 Confirm email 또는 이메일 확인 관련 옵션이 켜져 있는지 확인합니다. 이 설정이 켜져 있으면 가입 후 확인 메일이 발송되고, 사용자는 메일 안의 링크를 눌러야 이메일 확인을 완료할 수 있습니다.
프론트엔드 코드에서는 가입 요청 시 email, password, 필요하다면 options와 emailRedirectTo 값을 함께 전달할 수 있습니다. 예를 들어 가입 확인 후 사용자를 특정 페이지로 보내고 싶다면 리디렉션 URL 설정도 함께 맞춰야 합니다.
const { data, error } = await supabase.auth.signUp({
email,
password,
options: {
emailRedirectTo: 'https://example.com/auth/callback'
}
})
위 예시에서 supabase.auth.signUp, email, password, options, emailRedirectTo는 모두 인증 흐름에 영향을 주는 값입니다. 운영 환경에서는 https://example.com/auth/callback 대신 실제 서비스의 콜백 주소를 사용해야 합니다.
확인 메일 템플릿을 한국어로 수정하기

이메일 회원가입 설정을 확인했다면 이제 사용자가 실제로 받는 메일 문구를 수정합니다. Supabase Dashboard의 Authentication 영역에서 Email Templates 메뉴를 찾고, 여러 템플릿 중 Confirm signup을 선택합니다.
Confirm signup은 사용자가 처음 가입했을 때 발송되는 확인 메일입니다. 이 템플릿에서 메일 제목, 본문 문구, 버튼 문구를 바꾸면 신규 가입자가 받는 인증 메일이 서비스 상황에 맞게 읽힙니다. 한국어 서비스라면 최소한 제목과 버튼 문구는 바꿔 두는 것이 좋지만, 현재는 프로젝트 생성일과 이메일 발송 방식에 따라 수정 가능 여부가 달라집니다.
중요: 2026년 6월 3일부터 새로 만든 무료 플랜 프로젝트가 Supabase의 기본 이메일 발송 서비스를 사용하는 경우, Confirm signup을 포함한 인증 메일 템플릿을 수정할 수 없습니다. 기존 무료 프로젝트는 이미 설정해 둔 템플릿이 유지되고, 유료 플랜 프로젝트와 직접 custom SMTP를 설정한 무료 프로젝트는 계속 템플릿을 수정할 수 있습니다.
Email Templates 위치 찾기
대시보드에서 Authentication을 연 뒤 Email Templates 메뉴로 이동합니다. 여기에는 Confirm signup, Magic Link, Reset Password, Change Email Address 같은 인증 메일 템플릿이 모여 있습니다. 이번 글에서 수정할 대상은 회원가입 확인 메일이므로 Confirm signup 템플릿입니다.
무료 플랜에서 한국어 템플릿 수정이 안 되는 경우
새 무료 프로젝트에서 템플릿 입력란이 잠겨 있거나 저장이 되지 않는다면 설정 실수라기보다 Supabase 정책 변경 때문일 수 있습니다. 2026년 6월 3일 이후 생성된 무료 플랜 프로젝트는 기본 이메일 발송 서비스를 사용할 때 인증 메일 템플릿을 기본값 그대로 사용해야 합니다.
이 경우 확인 메일 제목, 본문, 버튼 문구를 한국어로 바꾸려면 두 가지 선택지가 있습니다. 하나는 프로젝트를 유료 플랜으로 올리는 것이고, 다른 하나는 무료 플랜을 유지하되 Resend, Postmark, SendGrid, Amazon SES 같은 외부 메일 서비스를 custom SMTP로 연결하는 것입니다. custom SMTP를 켜면 기존처럼 Email Templates에서 한국어 문구를 수정할 수 있습니다.
Confirm signup 메일 제목 바꾸기
메일 제목은 사용자가 메일함에서 가장 먼저 보는 문구입니다. 기본 영어 제목을 그대로 두기보다는 서비스 이름과 목적이 바로 드러나도록 작성하는 편이 좋습니다. 예를 들어 서비스 이름이 모두노트라면 다음과 같이 쓸 수 있습니다.
모두노트 이메일 인증을 완료해 주세요모두노트 가입을 위한 이메일 확인 안내이메일 주소를 확인하고 모두노트를 시작하세요
제목에는 너무 많은 정보를 넣지 않는 것이 좋습니다. 사용자는 이미 회원가입을 시도한 직후이므로, “어떤 서비스에서 온 메일인지”와 “무엇을 해야 하는지”만 명확하면 충분합니다.
본문 문구를 한국어로 다듬기
본문은 사용자가 링크를 눌러도 되는지 판단하는 구간입니다. 번역체 문장보다는 가입 직후의 상황, 인증이 필요한 이유, 인증 후 사용할 수 있는 기능을 짧게 알려 주는 문장이 좋습니다. 다음 문구를 기본형으로 사용할 수 있습니다.
<p>안녕하세요. 모두노트에 가입해 주셔서 감사합니다.</p>
<p>아래 버튼을 눌러 이메일 인증을 완료해 주세요. 인증이 완료되면 모두노트를 바로 사용할 수 있습니다.</p>
서비스 톤이 더 친근하다면 “가입해 주셔서 감사합니다” 대신 “반가워요”처럼 바꿀 수 있습니다. 다만 인증 메일은 보안과 연결된 메시지이므로 지나치게 장난스럽거나 모호한 표현은 피하는 편이 좋습니다.
버튼 문구를 자연스럽게 바꾸기
버튼 문구는 사용자가 수행할 행동을 직접적으로 표현해야 합니다. Confirm your email을 그대로 번역해 “이메일을 확인하세요”라고 쓰면 메일을 읽으라는 뜻처럼 보일 수 있습니다. 한국어 서비스에서는 다음 표현이 더 자연스럽습니다.
이메일 인증하기가입 확인하기인증 완료하기
가장 무난한 선택은 이메일 인증하기입니다. 사용자의 행동과 결과가 명확하고, 보안 메일에서도 어색하지 않습니다. 버튼 주변 문구에서는 “아래 버튼”이라고 안내하되, 버튼 자체에는 짧은 동사를 쓰는 것이 좋습니다.
확인 링크 변수는 반드시 유지하기
메일 템플릿을 수정할 때 가장 중요한 주의점은 확인 링크 변수를 삭제하지 않는 것입니다. Supabase의 이메일 템플릿에는 인증 링크를 생성하는 변수나 토큰이 포함되어 있습니다. 이 값은 사용자마다 다르게 생성되는 인증 주소와 연결되므로, 문구를 바꾸더라도 그대로 남겨야 합니다.
템플릿 안에서 자주 보게 되는 값은 {{ .ConfirmationURL }}, {{ .Token }}, {{ .TokenHash }}, {{ .SiteURL }} 같은 형태일 수 있습니다. 실제 프로젝트의 템플릿 방식에 따라 사용되는 변수가 다를 수 있으므로, 기존 템플릿에 들어 있던 링크 관련 값은 지우지 말고 위치만 조심스럽게 조정합니다.
링크 변수를 삭제하면 생기는 문제
확인 링크 변수를 삭제하면 사용자는 메일을 받아도 인증을 완료할 수 없습니다. 버튼은 보이지만 잘못된 주소로 이동하거나, 아예 클릭할 링크가 없는 메일이 발송될 수 있습니다. 이 경우 가입자는 “메일은 왔는데 가입이 안 된다”고 느끼고 이탈할 가능성이 높습니다.
특히 HTML 구조를 직접 수정할 때는 href 속성 안의 값을 주의해서 봐야 합니다. 버튼 텍스트를 바꾸는 것은 괜찮지만, href="{{ .ConfirmationURL }}"처럼 인증 주소를 넣는 부분은 유지해야 합니다.
<a href="{{ .ConfirmationURL }}">이메일 인증하기</a>
문구만 바꾸고 구조는 유지하는 방법
처음 수정할 때는 전체 템플릿을 새로 작성하기보다 기존 구조를 유지한 상태에서 텍스트만 바꾸는 방식이 안전합니다. 제목을 한국어로 바꾸고, 본문 문단을 서비스 톤에 맞게 다듬고, 버튼 안의 텍스트만 이메일 인증하기로 바꾸면 대부분의 경우 충분합니다.
메일 디자인을 크게 바꾸고 싶더라도 먼저 기본 동작이 정상인지 확인한 뒤 진행하는 편이 좋습니다. 인증 메일은 디자인보다 링크 동작, 스팸함 회피, 명확한 안내가 더 중요합니다. 확인 링크가 정상 작동하는 상태를 유지하는 것이 최우선입니다.
테스트 회원가입으로 확인하기

템플릿을 저장했다면 실제 가입 흐름으로 테스트합니다. 관리자 화면에서 미리보기만 보는 것으로는 충분하지 않습니다. 프론트엔드의 회원가입 화면에서 테스트 이메일로 가입을 진행하고, 받은 편지함에 도착한 메일의 제목, 발신자, 본문, 버튼 문구, 링크 동작을 모두 확인합니다.
테스트 계정은 실제로 접근 가능한 이메일을 사용하는 것이 좋습니다. 임시 이메일 서비스를 사용할 수도 있지만, 운영 전 최종 확인에서는 Gmail, Naver Mail, Daum Mail처럼 실제 사용자가 많이 쓰는 메일함에서도 확인해 보는 편이 안전합니다.
테스트 계정으로 가입하기
프론트엔드에서 회원가입 폼을 열고 새 이메일과 비밀번호를 입력합니다. 가입 요청이 성공하면 화면에는 “확인 메일을 보냈습니다”처럼 다음 행동을 안내하는 메시지를 보여 주는 것이 좋습니다. 이 메시지는 Supabase 메일과 별개로 앱 안에서 사용자를 안내하는 역할을 합니다.
메일 제목과 본문 확인하기
메일함에서 도착한 확인 메일을 열고 제목이 한국어로 잘 표시되는지 확인합니다. 본문에서는 서비스 이름이 정확한지, 버튼 문구가 자연스러운지, 문장이 너무 길거나 어색하지 않은지 봅니다. 모바일 메일 앱에서도 버튼이 잘 보이는지 확인하면 더 좋습니다.
버튼 클릭 후 인증 완료 확인하기
마지막으로 버튼을 클릭해 인증이 완료되는지 확인합니다. 클릭 후 설정한 콜백 페이지나 로그인 페이지로 이동해야 하며, 이후 해당 계정으로 로그인할 수 있어야 합니다. 만약 링크를 눌렀는데 오류가 난다면 Redirect URLs, emailRedirectTo, Site URL, 템플릿의 {{ .ConfirmationURL }} 유지 여부를 함께 점검합니다.
마무리 체크리스트
Supabase 회원가입 설정은 기능 자체보다 흐름 전체를 확인하는 것이 중요합니다. 이메일 가입이 켜져 있어도 확인 메일 문구가 영어로 남아 있거나, 버튼 링크가 깨져 있거나, 인증 후 이동 페이지가 잘못되어 있으면 사용자는 가입 과정에서 막히게 됩니다.
Authentication메뉴에서 이메일 제공자가 활성화되어 있는지 확인합니다.Confirm email설정이 서비스 의도에 맞게 켜져 있는지 확인합니다.Email Templates에서Confirm signup템플릿을 선택합니다.- 새 무료 플랜 프로젝트라면 기본 이메일 발송 서비스에서 템플릿 수정이 가능한지 먼저 확인합니다.
- 무료 플랜에서 한국어 템플릿 수정이 막혀 있다면 유료 플랜 또는
custom SMTP연결을 검토합니다. - 메일 제목을 한국어 서비스에 맞는 문장으로 바꿉니다.
- 본문에서 가입 감사, 인증 안내, 다음 행동을 자연스럽게 설명합니다.
- 버튼 문구는
이메일 인증하기처럼 행동이 분명한 표현으로 바꿉니다. {{ .ConfirmationURL }}같은 확인 링크 변수는 삭제하지 않습니다.- 테스트 가입으로 실제 메일 수신과 버튼 클릭 후 인증 완료까지 확인합니다.
처음에는 작은 설정처럼 보이지만, 회원가입 확인 메일은 사용자가 서비스에 들어오기 직전에 만나는 중요한 관문입니다. Supabase Auth의 기본 기능을 그대로 활용하되, Confirm signup 템플릿의 제목·본문·버튼 문구를 한국어로 정리해 두면 가입 과정이 훨씬 자연스럽게 이어집니다.