새로운 프로젝트를 위해 멋진 도메인을 구매했는데, support@my-domain.com 같은 메일 주소로 답장까지 보낼 수 있다면 얼마나 프로페셔널해 보일까요?
최근 Cloudflare에서 도메인을 구매하고 Gmail로 메일을 연동하는 과정에서 겪은 시행착오와 해결 방안을 공유합니다. 특히 “메일은 받아지는데 왜 발신은 안 되지?” 혹은 **“왜 내 메일이 스팸함에 가지?”**라는 고민을 가진 초보 개발자분들에게 이 글이 완벽한 가이드가 될 것입니다.
이전 글: https://fclipse.tistory.com/entry/cloudflare-custom-domain-email
[
[tip] 구매한 custom domain으로 이메일 보내고 받는 법 - cloudflare
Cloudflare에서 구매한 도메인을 Gmail과 연동하여 무료로 메일을 주고받는 방법은 크게 두 단계로 나뉩니다. 받는 메일은 Cloudflare의 이메일 라우팅(Email Routing) 기능을 사용하고, 보내는 메일은 Gmail
fclipse.tistory.com
](https://fclipse.tistory.com/entry/cloudflare-custom-domain-email)
1. 시작하며: 왜 수신은 되고 발신은 안 될까?
Cloudflare의 Email Routing은 기본적으로 ‘포워딩(전달)’ 서비스입니다. 내 도메인으로 오는 메일을 내 Gmail로 던져주는 역할만 하죠. 하지만 Gmail에서 내 도메인 이름표를 달고 메일을 발송하려면, 메일을 대신 배달해줄 **SMTP 서버(우체국)**가 필요합니다.
우리는 별도의 유료 서비스 없이, 우리가 이미 가진 Gmail의 SMTP 서버를 활용하는 영리한 방법을 사용할 것입니다.
2. Gmail을 발신 서버로 설정하기
Step 1: Google 앱 비밀번호 생성
Gmail은 보안상 일반 비밀번호로 외부 연결을 허용하지 않습니다.
- Google 계정 설정 > 보안 > 2단계 인증을 활성화하세요.
- 하단의 앱 비밀번호 메뉴에서 ‘Cloudflare SMTP’ 등의 이름으로 16자리 비밀번호를 생성해 저장해둡니다.
Step 2: Gmail에 다른 주소 추가

- Gmail 설정 > 계정 및 가져오기 > 다른 주소에서 메일 보내기를 클릭합니다.
- 내 도메인 메일(예:
support@example.com)을 입력합니다. 이때 ’별칭으로 간주’는 체크 해제하는 것을 추천합니다. 그래야 개인 메일과 업무용 메일이 명확히 분리됩니다. - SMTP 서버 정보 입력:
- SMTP 서버:
smtp.gmail.com - 사용자 이름: 내 Gmail 주소 전체
- 비밀번호: 아까 만든 16자리 앱 비밀번호
3. “신뢰할 수 없는 발신자” 경고 해결하기 (DNS 설정)
설정을 마쳤는데 메일을 보내보니 “보낸 사람을 확인할 수 없다”는 경고가 뜨나요? 이건 수신 측 서버가 여러분의 메일을 ’사칭 메일’로 의심하기 때문입니다. 이를 해결하기 위해 Cloudflare DNS에 세 가지 조치를 취해야 합니다.
1) SPF (누가 보낼 수 있는가?)
내 도메인을 대신해 메일을 보낼 수 있는 서버 목록을 등록합니다.
- 기존:
v=spf1 include:_spf.mx.cloudflare.net ~all - 수정:
v=spf1 include:_spf.mx.cloudflare.net include:_spf.google.com ~all(Google 서버도 내 도메인을 쓸 수 있다고 허가해주는 것입니다.)
2) DKIM (메일이 변조되었는가?)
메일에 디지털 서명을 입히는 과정입니다. Cloudflare에서 제공하는 기본 DKIM 레코드를 유지하세요.
3) DMARC (인증 실패 시 어떻게 할 것인가?)
최근 보안 트렌드에서 가장 중요한 레코드입니다. 이 레코드가 없으면 스팸 처리될 확률이 높습니다.
- 타입: TXT
- 이름:
_dmarc - 값:
v=DMARC1; p=none;(p=none은 초기 설정 시 메일 유실을 방지하면서 모니터링하기 가장 안전한 값입니다.)
4. 초보 개발자를 위한 디버깅 팁: PowerShell 활용
설정이 잘 되었는지 브라우저에서만 확인하지 말고, 터미널을 열어 직접 질의해 보세요.
# SPF 레코드 확인
Resolve-DnsName -Name 내도메인 -Type TXT
# DMARC 레코드 확인
Resolve-DnsName -Name _dmarc.내도메인 -Type TXT
결과 값에 내가 입력한 include:_spf.google.com이나 v=DMARC1이 보인다면 설정 성공입니다!
5. 마치며: 인프라의 이해가 성장을 만듭니다
의의: 단순히 클릭 몇 번으로 끝낼 수도 있지만, SMTP, SPF, DKIM, DMARC라는 개념을 이해하는 과정은 네트워크와 보안 인프라를 이해하는 훌륭한 밑거름이 됩니다.
처음 설정을 마친 뒤 경고 문구가 바로 사라지지 않더라도 당황하지 마세요. DNS 전파와 수신 서버의 신뢰도 업데이트에는 **시간(최대 24시간)**이 필요합니다.
궁금한 점이나 설정 중 막히는 부분이 있다면 댓글로 남겨주세요!
#Cloudflare #Gmail연동 #커스텀도메인 #이메일보안 #SMTP #DMARC