새로운 프로젝트를 위해 멋진 도메인을 구매했는데, 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은 보안상 일반 비밀번호로 외부 연결을 허용하지 않습니다.

  1. Google 계정 설정 > 보안 > 2단계 인증을 활성화하세요.
  2. 하단의 앱 비밀번호 메뉴에서 ‘Cloudflare SMTP’ 등의 이름으로 16자리 비밀번호를 생성해 저장해둡니다.

Step 2: Gmail에 다른 주소 추가

image

  1. Gmail 설정 > 계정 및 가져오기 > 다른 주소에서 메일 보내기를 클릭합니다.
  2. 내 도메인 메일(예: support@example.com)을 입력합니다. 이때 ’별칭으로 간주’는 체크 해제하는 것을 추천합니다. 그래야 개인 메일과 업무용 메일이 명확히 분리됩니다.
  3. 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