SPF 레코드 생성기
메일을 보내는 서비스를 고르면 SPF 레코드 하나가 만들어지고, 그 레코드가 수신 서버에 쓰게 하는 DNS 조회 횟수를 만드는 동안 실시간으로 셉니다.
도메인의 SPF 레코드를 발신자까지 포함해 양식에 불러옵니다. 아래에서 발신자를 직접 고를 수도 있으며, 고르는 대로 반영됩니다.
브라우저 안에서 만들어집니다. DNS 질의만 HTTPS로 Cloudflare 리졸버(교차 확인용으로 Google 리졸버)에 전달됩니다.
example.com의 레코드 예시
위에 도메인을 입력하면 현재 게시된 레코드에서 시작하고, 아래에서 무엇이든 바꿀 수 있습니다. 오른쪽 레코드는 바꾸는 대로 갱신됩니다.
등록되지 않은 서버는 거부되지 않고 의심스러운 메일로 표시됩니다. DMARC가 quarantine이나 reject이면 DMARC가 DKIM으로 판단합니다. M3AAWG는 ~all을 권장합니다.
수신 서버가 이 레코드에 쓰는 조회
/ 10 사용한 조회
110
DNS 조회 void(빈 응답)
include를 세는 중…
조회가 쓰이는 곳
게시하기 전에
수신 서버가 건너뛰거나 잘못 읽을 항목이 없는 레코드 하나입니다.
어디에 붙여넣나요?
DNS 호스트를 고르세요: 아래 입력란은 해당 호스트의 양식이 요구하는 방식으로 쓰여 있습니다.
example.com. 3600 IN TXT "v=spf1 include:_spf.google.com ~all"
게시한 후
SPF 레코드는 어떻게 만듭니까?
내 도메인 명의로 메일을 보내는 서비스를 모두 나열해, 그 include: 항목과 자체 서버 주소를 도메인의 TXT 레코드 하나에 넣고 ~all로 끝내면 SPF 설정이 완료됩니다.
비용이 적은 항목을 앞에 두세요. IP 주소는 DNS 조회가 들지 않고, a와 mx는 각각 1회, include는 1회에 그 안에 든 조회를 더한 만큼 듭니다.
그다음 세어 보세요. 수신 서버는 DNS 조회 10회에서 멈춥니다. 생성기는 모든 include를 실시간으로 따라가므로 이 횟수가 수신 서버가 보게 될 횟수입니다.
ip4:192.0.2.250 조회include:_spf.google.com1 조회include:spf.mailjet.com1 조회~all0 조회
수신 서버가 도달하는 조회 횟수중첩 include까지 포함해 모든 include를 수신 서버가 세는 방식 그대로 브라우저에서 실시간으로 따라갑니다.조회 하나에 한 칸조회를 쓰는 발신자별로 색을 칠하고, 10회를 넘는 칸은 빗금으로 표시합니다: permanent error입니다.조회가 쓰이는 곳각 항목과 그 표시, 중첩 include, 비용을 보여 줍니다.조회를 가장 많이 쓰는 곳10회를 넘으면 가장 많이 쓰는 곳과 되돌리는 방법을 정직하게 알려 주며, flatten의 단점도 포함합니다.다른 곳에 있는 발신자SPF를 서브도메인에 두거나 아예 두지 않는 서비스는 어디에 두는지 알려 줍니다.SPF 레코드에는 무엇이 들어갑니까?
누가 보낼 수 있는지 지정하는 메커니즘(ip4, ip6, a, mx, include, exists)과 끝부분 하나(all 또는 redirect)로 이루어지며, 각각 한정자가 붙습니다. DNS에 묻는 항목은 모두 10회 조회 중 1회를 씁니다.
한정자는 일치했을 때의 의미를 정합니다: + pass(기본값), - fail, ~ softfail, ? neutral. 수신 서버는 왼쪽에서 오른쪽으로 읽으며 처음 일치한 항목에서 멈춥니다.
ptr은 사용 중단되었고 느립니다: 쓰지 마세요.
| 항목 | 예시 | DNS 조회 | 용도 |
|---|---|---|---|
| ip4 | ip4:192.0.2.0/24 | 0 | 자체 IPv4 서버 |
| ip6 | ip6:2001:db8::/32 | 0 | 자체 IPv6 서버 |
| a | a | 1 | 도메인 자체의 주소 |
| mx | mx | 1 + 이름 최대 10개 | 메일도 보내는 수신 서버 |
| include | include:_spf.google.com | 1 + 그 안의 조회 | 서비스의 레코드 |
| exists | exists:%{i}._spf.example.com | 1 | 주소별 확인(매크로) |
| redirect | redirect=_spf.example.com | 1 | 다른 도메인의 레코드 전체 사용 |
| all | ~all | 0 | 그 외 전부(끝부분) |
+pass-fail~softfail?neutralGoogle Workspace, Microsoft 365 등을 위한 SPF 레코드
Google Workspace는 include:_spf.google.com, Microsoft 365는 include:spf.protection.outlook.com입니다. 대부분의 서비스는 include: 항목 하나를 게시하며, 일부는 내 레코드에 아무것도 필요하지 않습니다.
아래의 각 비용은 서비스의 실제 레코드에서 측정했으며 그 안에 중첩된 모든 것을 포함합니다. 수신 서버가 쓰는 만큼입니다.
「여기에는 없음」으로 표시된 서비스는 자체 반송 경로나 내 서브도메인으로 보내므로 SPF가 그곳에 있습니다.
| 서비스 | 레코드에 추가할 내용 | 조회 | 위치 |
|---|---|---|---|
| Google Workspace | include:_spf.google.com | 1 | 내 레코드 |
| Microsoft 365 | include:spf.protection.outlook.com | 1 | 내 레코드 |
| Zoho Mail | include:zohomail.com | 2 | 내 레코드 |
| Amazon SES | include:amazonses.com | 1 | 서브도메인 |
| SendGrid | include:sendgrid.net | 2 | 서브도메인 |
| Mailgun | include:mailgun.org | 5 | 서브도메인 |
| Mailchimp | — | — | 추가할 것 없음 |
| Brevo | — | 1 | 추가할 것 없음 |
| HubSpot | include:<HubID>.spf0N.hubspotemail.net | — | 내 레코드 |
| Salesforce | include:_spf.salesforce.com | 2 | 내 레코드 |
| Zendesk | include:mail.zendesk.com | 1 | 내 레코드 |
| Freshdesk | include:email.freshdesk.com | 7 | 내 레코드 |
| Postmark | — | 1 | 추가할 것 없음 |
| Mimecast (global) | include:_netblocks.mimecast.com | 9 | 내 레코드 |
| Proton Mail | include:_spf.protonmail.ch | 2 | 내 레코드 |
| Fastmail | include:spf.messagingengine.com | 1 | 내 레코드 |
SPF의 10회 조회 한도란 무엇입니까?
수신 서버는 중첩 include를 포함해 DNS에 묻는 항목이 10개가 되면 멈추고, 이후 모든 메시지에서 SPF가 permanent error로 실패합니다. 빈 응답으로 돌아오는 조회가 세 번째가 되어도 실패합니다(RFC 7208).
한도 아래로 되돌리려면 발신자를 자체 레코드가 있는 서브도메인으로 옮기거나, 메일을 보내지 않는 서버의 a나 mx를 삭제하거나, 업체에 더 좁은 include를 요청하세요.
include를 IP 주소로 바꾸는 flatten은 조회를 줄이지만, 업체가 주소를 바꾸는 날부터 낡은 값이 됩니다: 매달 다시 확인하세요.
12 / 10 · 영구 오류(permanent error)
mx1include:spf.protection.outlook.com1include:email.freshdesk.com7include:_spf.salesforce.com2include:mail.zendesk.com1SPF는 ~all로 끝내야 합니까, -all로 끝내야 합니까?
메일을 보내는 도메인에는 ~all을, 보내지 않는 도메인에는 -all을 쓰세요. DMARC가 강제 정책이면 DMARC가 DKIM으로 판단하지만, -all은 전달된 메일을 DMARC가 실행되기 전에 거부하게 만들 수 있습니다.
M3AAWG는 발신 도메인에 ~all을, 메일을 보내지 않는 도메인에 -all을 권장합니다. Google은 Workspace에 ~all을, Microsoft는 Microsoft 365에 -all을 안내합니다.
~allsoftfail수락하되 의심스러운 메일로 표시. DMARC가 DKIM으로 판단-allfailDKIM이 통과해도 즉시 거부될 수 있음?allneutralSPF가 없는 것과 같음SPF 레코드에 넣지 않아도 되는 발신자는 어디입니까?
Mailchimp, Postmark, SparkPost, Klaviyo, Shopify처럼 자체 반송 경로로 보내는 서비스는 자기 도메인에서 SPF를 통과합니다. Amazon SES, SendGrid, Mailgun은 내 발송용 서브도메인에 두어야 합니다.
SPF는 사람이 보는 From 주소가 아니라 봉투 발신자(Return-Path)를 확인합니다. DMARC에서는 이런 서비스가 DKIM으로 정렬되므로 대신 해당 DKIM 레코드를 게시하세요.
From: news@example.comReturn-Path: bounce@esp.example.net여기에 추가할 것 없음
내 서브도메인에
도메인에 SPF 레코드를 두 개 둘 수 있습니까?
아니요. 한 이름에 v=spf1 레코드가 두 개 있으면 수신 서버는 permanent error로 멈추고 SPF가 실패하므로, 하나로 합치세요.
두 레코드의 발신자를 모두 남기고 끝부분은 하나로 하며, 합친 레코드의 조회를 세세요. 각각은 한도 안이어도 합치면 10회를 넘을 수 있습니다.
v=spf1 include:_spf.google.com ~allv=spf1 include:spf.protection.outlook.com -all레코드 하나v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all긴 SPF 레코드는 DNS 호스트에서 어떻게 처리됩니까?
TXT 문자열 하나는 255바이트를 담습니다. 더 긴 레코드는 여러 문자열로 나뉘고 수신 서버는 그 사이에 아무것도 넣지 않고 이어 붙이며, 대부분의 DNS 호스트가 알아서 나눠 줍니다.
Cloudflare와 Azure는 값 전체를 한 칸에 받고, Route 53과 Google Cloud DNS는 따옴표로 묶은 255바이트 문자열을 요구합니다. RFC 7208은 응답 전체를 450바이트 미만으로 유지하라고 합니다.
v=spf1 ip4:198.51.100.1 ip4:198.51.100.2 ip4:198.51.100.3 ip4:198.51.100.4 ip4:198.51.100.5 ip4:198.51.100.6 ip4:198.51.100.7 ip4:198.51.100.8 ip4:198.51.100.9 ip4:198.51.100.10 ip4:198.51.100.11 ip4:198.51.100.12 ip4:203.0.113.20 ip4:203.0.113.21 ip4:203.0.113.22 ip4:203.0.113.23 ip4:203.0.113.24 include:_spf.google.com ~allexample.com. 3600 IN TXT ( "v=spf1 ip4:198.51.100.1 ip4:198.51.100.2 ip4:198.51.100.3 ip4:198.51.100.4 ip4:198.51.100.5 ip4:198.51.100.6 ip4:198.51.100.7 ip4:198.51.100.8 ip4:198.51.100.9 ip4:198.51.100.10 ip4:198.51.100.11 ip4:198.51.100.12 ip4:203.0.113.20 ip4:203.0.113.21 ip4:203" ".0.113.22 ip4:203.0.113.23 ip4:203.0.113.24 include:_spf.google.com ~all" )
SPF 레코드 생성기 FAQ
SPF 레코드란 무엇입니까?
Google Workspace의 SPF 레코드는 무엇입니까?
Microsoft 365의 SPF 레코드는 무엇입니까?
SPF 레코드를 두 개 둘 수 있습니까?
SPF 레코드의 조회가 10회를 넘으면 어떻게 됩니까?
~all과 -all 중 무엇을 써야 합니까?
서브도메인에도 자체 SPF 레코드가 필요합니까?
SPF 레코드는 어디에 추가합니까?
SPF flattening이란 무엇이며 써야 합니까?
SPF 생성기는 무료입니까? 저희 서버로 전송되는 것이 있습니까?
부족한 점이 있습니까?기능 또는 새 도구 제안하기
관련 도구
DMARC 레코드 생성기
지금 게시한 레코드에서 시작해 RFC 9989에 맞는 DMARC 레코드를 만들고, 인증에 실패한 메일을 수신 서버가 어떻게 처리할지 확인하세요.
DKIM 레코드 생성기
브라우저에서 DKIM 키 쌍을 만들고 게시할 selector._domainkey TXT 레코드 받기
SPF 레코드 확인
SPF 레코드 검증 및 RFC 7208에 따른 DNS 조회 수 확인
DMARC 레코드 확인
도메인의 DMARC 정책 및 정렬 설정 확인
DKIM 확인
자동 셀렉터 감지로 DKIM 레코드 검증
MX 조회
메일 교환 레코드 및 메일 서버 세부 정보 확인
이메일 헤더 분석
원시 이메일 헤더를 분석하고 이메일 경로 추적
BIMI 레코드 검사기
BIMI 레코드, SVG Tiny PS 로고, VMC 인증서와 로고가 표시되는 받은편지함 확인





