Outreach 블로그 무료로 시작
콜드메일 도달률

SPF·DKIM·DMARC 설정 방법 — 회사 도메인 메일이 스팸함에 안 가게

회사 도메인으로 영업 메일을 보낸다면 SPF·DKIM·DMARC 세 가지를 DNS에 넣어야 합니다. 구글 공식 문서 기준으로 무엇을 어디에 어떤 순서로 넣는지 정리했습니다.

Outreach 팀 약 12분 English
3줄 요약
  1. SPF·DKIM·DMARC는 도메인 DNS에 TXT 레코드로 넣습니다.
  2. 구글은 모든 발신자에게 SPF 또는 DKIM을 요구합니다.
  3. DMARC는 p=none으로 시작해 한 주 이상 본 뒤 올립니다.
5,000통
구글이 정한 대량 발신자 기준(하루, 개인 지메일 주소로)
0.3%
구글·야후가 정한 스팸 신고율 상한
10회
SPF 확인 한 번에 허용되는 DNS 조회 수(RFC 7208)
48시간
구글이 안내한 SPF·DKIM 적용까지 걸릴 수 있는 최대 시간

회사 도메인(예: sales@mycompany.co.kr)으로 영업 메일을 보내기 시작했는데 답장이 없고, 받은 쪽에서 "스팸함에 있었다"는 말을 들으셨다면 이 글이 맞습니다.

이 글은 SPF·DKIM·DMARC 세 가지를 어디에, 무엇을, 어떤 순서로 넣는지를 답합니다. 모든 설정값과 숫자는 구글 공식 도움말과 RFC(인터넷 표준 문서) 원문에서 확인한 것만 적었습니다. 예시 도메인은 처음부터 끝까지 mycompany.co.kr 하나로 씁니다.

@gmail.com 주소로 보내신다면 이 설정을 하실 수 없고, 하실 필요도 없습니다. 이유는 아래 「흔한 실수」에서 설명합니다.

SPF·DKIM·DMARC는 각각 무엇을 증명하나요?

SPF는 "이 서버가 이 도메인 이름으로 보내도 되는가", DKIM은 "이 도메인이 서명했고 서명 뒤 내용이 안 바뀌었는가", DMARC는 "받는 사람 눈에 보이는 보낸 사람 도메인이 앞의 둘과 일치하는가, 안 맞으면 어떻게 할 것인가"를 증명합니다.

셋 다 도메인의 DNS(도메인 이름과 서버 정보를 적어 두는 공개 장부)에 TXT 레코드(글자 한 줄을 적는 칸)로 넣습니다.

이름 받는 서버가 확인하는 것 근거 문서
SPF 메일을 보낸 서버의 IP가, 봉투 주소(Return-Path, 반송이 돌아갈 주소)의 도메인이 허락한 목록에 있는가 RFC 7208
DKIM 메일 머리글에 붙은 서명을, 서명한 도메인이 DNS에 공개한 열쇠로 풀었을 때 맞는가 RFC 6376
DMARC 받는 사람이 보는 From: 도메인이, SPF 또는 DKIM을 통과한 도메인과 같은가 구글 DMARC 도움말

여기서 놓치기 쉬운 점이 하나 있습니다. SPF가 확인하는 도메인은 받는 사람 눈에 보이는 From: 주소가 아니라 봉투 주소입니다. 그래서 SPF만 통과해도 보이는 주소는 다른 도메인일 수 있고, 이 틈을 막는 것이 DMARC의 "정렬(alignment)" 확인입니다. 구글 발신자 가이드라인은 이렇게 적습니다.

To pass DMARC authentication, messages must be authenticated by SPF or DKIM, or both. The authenticating domain must be the same domain that appears in the message From: header.

구글·야후는 발신자에게 무엇을 요구하나요?

구글은 모든 발신자에게 SPF 또는 DKIM 중 하나 이상을 요구하고, 개인 지메일 주소로 하루 5,000통 넘게 보내는 발신자에게는 SPF와 DKIM 둘 다, DMARC, 그리고 From: 도메인 정렬을 요구합니다. 스팸 신고율은 0.3% 미만이어야 합니다.

아래는 구글 이메일 발신자 가이드라인 원문에서 옮긴 것입니다. 여기서 "개인 지메일 주소"는 @gmail.com·@googlemail.com으로 끝나는 주소를 말합니다.

항목 모든 발신자 하루 5,000통 넘게 보내는 발신자
인증 SPF 또는 DKIM SPF 그리고 DKIM
DMARC 권장 필수(정책은 none이어도 됨)
From: 도메인 정렬 SPF 또는 DKIM 도메인과 일치
스팸 신고율 0.3% 미만 0.3% 미만
수신거부 광고·구독 메일은 한 번 눌러 수신거부 지원

구글은 스팸 신고율에 대해 한 단계 더 적어 두었습니다. "0.10% 미만으로 유지하고, 0.30% 이상에는 절대 닿지 않게 하라"는 문장입니다.

야후 발신자 안내도 같은 틀입니다. 모든 발신자는 "SPF or DKIM at a minimum", 스팸 신고율 0.3% 미만이고, 대량 발신자는 SPF와 DKIM 둘 다, 그리고 p=none 이상의 DMARC 정책입니다. 다만 야후는 몇 통부터 대량 발신자인지 숫자를 밝히지 않는다고 자주 묻는 질문에 적었습니다("We will not specify a volume threshold").

영업 메일을 하루 5,000통 보내는 분은 드뭅니다. 그래도 저희가 셋 다 넣으시길 권하는 이유는 구글 문서 자체가 그렇게 권하기 때문입니다. 원문은 "we recommend that you always set up SPF, DKIM, and DMARC for your domains"입니다.

SPF 레코드는 어떻게 넣나요?

도메인을 관리하는 곳의 DNS 관리 화면에서 TXT 레코드를 하나 만들고, 호스트 칸에 @, 값 칸에 v=spf1 include:_spf.google.com ~all을 넣습니다. 이 값은 구글 워크스페이스로만 메일을 보낼 때의 값이며 구글 SPF 도움말에 그대로 나옵니다.

넣는 값
유형 TXT
호스트 @ (도메인 자체라는 뜻)
v=spf1 include:_spf.google.com ~all

값의 각 부분은 이런 뜻입니다.

  • v=spf1 — SPF 레코드라는 표시. 반드시 맨 앞에 옵니다
  • include:_spf.google.com — 구글이 공개한 발송 서버 목록을 허락 목록에 넣는다는 뜻
  • ~all — 목록에 없는 서버에서 온 메일은 의심하라는 뜻. 구글은 ~all을 권합니다

구글 워크스페이스 말고도 메일을 보내는 곳이 있다면(예: 홈페이지 문의 양식, 뉴스레터 서비스) 그 서비스의 include를 같은 줄에 이어 붙입니다. 구글 도움말의 예시는 v=spf1 include:_spf.google.com include:amazonses.com ~all입니다. 어떤 서비스가 우리 도메인 이름으로 메일을 보내는지는 먼저 목록으로 적어 두는 것이 구글이 안내하는 첫 단계입니다.

한국 호스팅의 화면 위치는 이렇습니다. 공식 도움말에서 확인한 이름만 적었습니다.

  • 카페24: 나의 서비스 관리 > 도메인 관리 > DNS 관리 (카페24 도움말). 카페24는 변경이 적용되기까지 약 30분~1시간이 걸릴 수 있다고 안내합니다
  • 가비아: 'DNS 관리툴'이라는 이름의 화면에서 레코드를 고칩니다(가비아 고객센터 안내). 버튼 이름은 저희가 확인하지 못해 적지 않습니다

구글은 SPF가 작동하기 시작하기까지 최대 48시간이 걸릴 수 있다고 적었습니다.

DKIM은 구글 워크스페이스에서 어떤 순서로 켜나요?

구글 관리 콘솔에서 DKIM 값을 만들고 → 그 값을 DNS에 TXT 레코드로 넣고 → 다시 관리 콘솔로 돌아와 '인증 시작'을 누르는 세 단계입니다. 순서를 바꿔 DNS에 넣기 전에 '인증 시작'을 누르면 안 됩니다. 아래 화면 이름은 구글 DKIM 도움말 한국어판의 표기 그대로입니다.

1단계 — 값 만들기

  1. Google 관리 콘솔에서 메뉴 > 앱 > Google Workspace > Gmail로 갑니다
  2. 이메일 인증을 누릅니다
  3. 선택한 도메인 메뉴에서 mycompany.co.kr을 고릅니다
  4. 새 레코드 생성을 누르고, 키 길이는 2,048을 고릅니다(도메인 업체가 2,048을 못 받으면 1,024). 접두어 선택기는 기본값 google을 둡니다
  5. 생성을 누르면 'DNS 호스트 이름'과 'TXT 레코드 값'이 나옵니다. 둘 다 복사합니다

구글은 조직에서 Gmail을 켠 뒤 24~72시간이 지나야 이 키를 받을 수 있다고 적었습니다. 그 전에 누르면 오류가 날 수 있습니다.

2단계 — DNS에 넣기

넣는 값
유형 TXT
호스트 google._domainkey
1단계에서 복사한 값(v=DKIM1로 시작)

일부 도메인 업체는 TXT 값의 길이를 제한합니다. 2,048비트 키가 들어가지 않으면 구글 도움말의 'TXT 레코드 글자 수 제한' 안내를 따르거나 1,024비트로 다시 만듭니다. 구글은 개인 지메일 주소로 보내려면 DKIM 키가 1,024비트 이상이어야 한다고 적었습니다.

3단계 — 인증 시작

DNS에 넣고 나서 다시 이메일 인증 화면으로 가 인증 시작을 누릅니다. 설정이 맞으면 화면 위쪽 상태가 "DKIM을 사용하여 이메일 인증 중"으로 바뀝니다. 구글은 DKIM도 작동까지 최대 48시간이 걸릴 수 있다고 안내합니다.

제대로 붙는지 보려면 다른 사람의 지메일 주소로 한 통을 보내고, 그 사람이 받은 메일에서 '원본 보기'를 눌러 Authentication-Results 줄에 dkim=pass가 있는지 봅니다. 구글은 자기 자신에게 보낸 메일로는 확인할 수 없다고 적었습니다.

DMARC는 어떤 값으로 시작해서 언제 올리나요?

p=none으로 시작해 적어도 한 주 동안 보고서를 보고, 문제가 없으면 p=quarantine을 작은 비율부터 적용한 뒤 넓혀 갑니다. 이 순서는 구글의 DMARC 단계적 적용 안내에 나온 그대로입니다. 구글은 SPF·DKIM을 넣고 최소 48시간 뒤에 DMARC를 넣으라고 적었습니다.

DMARC 레코드는 호스트 칸에 _dmarc를 넣습니다. DNS 관리 화면이 도메인 이름을 자동으로 붙이지 않는 곳이면 _dmarc.mycompany.co.kr 전체를 넣습니다.

단계 받는 쪽이 하는 일
1. 지켜보기 v=DMARC1; p=none; rua=mailto:dmarc@mycompany.co.kr 평소대로 배달하고, 결과 보고서만 rua 주소로 보냄
2. 일부 격리 v=DMARC1; p=quarantine; pct=5; rua=mailto:dmarc@mycompany.co.kr 인증에 실패한 메일 중 5%를 스팸함으로
3. 넓히기 pct 값을 올려 100%까지 실패한 메일 전부를 스팸함으로
  • p= 는 인증에 실패한 메일을 어떻게 할지입니다. none(그대로 배달) · quarantine(스팸함) · reject(거절) 셋 중 하나입니다
  • rua= 는 받는 서버들이 하루 단위 결과 보고서를 보낼 주소입니다
  • pct=quarantine·reject를 몇 %의 메일에 적용할지입니다

2026년 5월에 나온 새 DMARC 표준 RFC 9989pct 칸을 없앴습니다. 구글 도움말의 예시에는 아직 pct 가 남아 있습니다. 새 표준은 모르는 칸을 무시하라고 정하고 있어 레코드가 깨지지는 않지만, 새 표준을 따르는 받는 서버에는 '일부만 적용'이라는 뜻이 전달되지 않을 수 있습니다. 새 표준은 그 대신 t=y(시험 중이라는 표시)를 둡니다.

구글은 p=none 기간을 한 주로 권하며, 한 주면 보통 모든 발송 경로가 보고서에 드러난다고 설명합니다. 시작 비율의 예로는 작은 조직 10%, 큰 조직 1%를 들었습니다. reject는 인증에 실패한 메일이 아예 배달되지 않으므로, 구글도 주의 문구를 붙였습니다.

구글의 대량 발신자 요건은 p=none이어도 충족됩니다. 그러니 영업 메일만 보내는 작은 회사라면 p=none으로 넣고 보고서로 우리 도메인 이름을 쓰는 발송 경로를 파악하는 것부터 하시면 됩니다.

흔한 실수는 무엇인가요?

가장 흔한 것은 SPF 레코드를 두 줄 만드는 것, include를 10번 넘게 쓰는 것, 그리고 @gmail.com 주소에 이 설정을 하려는 것입니다. 하나씩 근거와 함께 적습니다.

① SPF 레코드가 두 줄이다. 뉴스레터 서비스를 붙이면서 v=spf1로 시작하는 줄을 하나 더 만드는 경우입니다. RFC 7208 4.5절은 SPF 레코드가 두 개 이상이면 결과를 permerror(영구 오류)로 정합니다. 즉 둘 다 무효가 됩니다. 한 줄에 include를 이어 붙여 하나로 합칩니다.

② DNS 조회가 10회를 넘는다. RFC 7208 4.6.4절은 SPF를 확인하는 동안 DNS를 다시 찾아야 하는 항목(include·a·mx·ptr·exists·redirect)을 모두 합쳐 10회로 제한하고, 넘으면 역시 permerror로 정합니다. include한 목록 안에 또 include가 있으면 그것도 셉니다. 발송 서비스를 여러 개 붙이다 보면 여기에 걸립니다.

@gmail.com 주소로 설정하려 한다. SPF·DKIM·DMARC는 도메인 주인이 그 도메인의 DNS에 적는 것입니다. gmail.com은 구글 도메인이라 우리가 레코드를 넣을 수 없고, 인증은 구글이 처리합니다. 이 글의 설정은 회사 도메인을 가진 경우에만 해당합니다.

④ 레코드를 엉뚱한 곳에 넣는다. 도메인을 산 곳과 DNS를 관리하는 곳이 다를 수 있습니다. 카페24 도움말도 네임서버(그 도메인의 DNS를 맡은 서버)가 카페24로 되어 있을 때 카페24 화면에서 레코드를 고칠 수 있다고 적었습니다. 네임서버를 다른 곳으로 옮겼다면 그곳에서 넣어야 적용됩니다.

⑤ DNS에 넣기 전에 '인증 시작'을 누른다. 구글 DKIM 도움말은 1단계에서 "아직 인증 시작을 클릭하지 마세요"라고 적었습니다.

⑥ DMARC를 처음부터 reject로 둔다. 우리 도메인 이름으로 메일을 보내는 경로를 다 파악하기 전에 거절로 두면, 빠뜨린 경로(예: 홈페이지 문의 양식 알림)의 메일이 배달되지 않습니다.

설정이 제대로 됐는지는 어떻게 확인하나요?

보내는 주소를 보내는 메일 주소 건강검진에 넣으면 SPF·DKIM·DMARC가 DNS에 걸려 있는지 항목별로 바로 나옵니다. 로그인도 설치도 필요 없습니다. 예를 들어 sales@mycompany.co.kr을 넣으면 mycompany.co.kr의 레코드를 조회합니다.

알아 두실 점이 하나 있습니다. DKIM은 이름(선택자)을 알아야 찾을 수 있어서, 이 도구는 구글 워크스페이스 기본 이름인 google로 찾습니다. 1단계에서 접두어를 다른 이름으로 바꾸셨다면 설정이 돼 있어도 '확인 안 됨'으로 보일 수 있습니다. 그때는 위의 '원본 보기' 방법으로 dkim=pass를 확인하시면 됩니다.

DNS 변경은 바로 반영되지 않을 수 있으므로, 넣자마자 결과가 비어 있어도 몇 시간 뒤 다시 확인해 보십시오. 구글이 안내한 최대 시간은 48시간입니다.

정리하면

  • SPF·DKIM·DMARC는 도메인 DNS에 TXT 레코드로 넣습니다.
  • 구글은 모든 발신자에게 SPF 또는 DKIM을, 하루 5,000통 넘게 개인 지메일 주소로 보내는 발신자에게는 셋 다와 From: 정렬을 요구합니다. 스팸 신고율 상한은 0.3% 입니다.
  • 구글 워크스페이스만 쓴다면 SPF 값은 v=spf1 include:_spf.google.com ~all 입니다. SPF는 한 줄만, DNS 조회는 10회 이내.
  • DKIM은 값 만들기 → DNS에 넣기 → 인증 시작 순서입니다.
  • DMARC는 p=none으로 한 주 본 뒤 quarantine을 작은 비율부터 올립니다.

인증을 갖췄다면 다음은 받는 주소 쪽입니다. 없는 주소로 보내 반송이 쌓이는 것을 막는 방법은 이메일 주소가 진짜 있는지 보내기 전에 확인하는 법에, 스팸함으로 가는 다른 원인과 하루 발송량 이야기는 콜드메일이 스팸함에 안 가게 하는 법에 정리했습니다.

키워드로 업체를 모으고 메일까지 보내 보세요

조건에 맞는 업체의 이메일·전화번호·인스타 아이디를 모아 드립니다. 받은 정보 1개당 1크레딧이고, 찾지 못한 정보에는 크레딧을 받지 않습니다.

가입하고 무료 크레딧 받기