DNS 설정은 콜드 이메일 전달률의 보이지 않는 기반입니다. 대부분의 콜드 이메일 실무자들은 제목, 본문, 발송 스케줄에 집중하지만, 그 아래에 있는 기술 인프라가 이메일이 받은편지함에 도달하는지 여부를 결정합니다. 잘못 설정된 DNS 레코드는 다른 어떤 단일 요인보다 많은 전달률 실패의 원인이지만, 대다수의 콜드 이메일 발신자들에게는 여전히 제대로 이해되지 못하고 있습니다.
이 기술 가이드는 콜드 이메일을 위한 DNS 설정에 대한 포괄적인 심층 분석을 제공합니다. 각 레코드 유형을 자세히 살펴보고, 발송 평판을 보호하는 인증 프로토콜을 탐구하며, 일반적인 전파 문제를 해결하고, 인프라가 프로덕션 준비 상태임을 보장하는 검증 방법을 시연합니다. 첫 콜드 이메일 도메인을 설정하든 대규모로 수백 개의 도메인을 관리하든, 이 가이드는 일관된 받은편지함 배치를 달성하기 위한 기술 지식을 제공할 것입니다.
도메인 네임 시스템(DNS)은 사람이 읽을 수 있는 도메인 이름을 기계가 읽을 수 있는 IP 주소로 변환하는 인터넷의 주소록 역할을 합니다. 이메일의 경우 DNS는 추가적인 중요한 목적을 수행합니다. 즉, 어떤 서버가 도메인을 대신하여 이메일을 발송할 권한이 있는지, 그리고 그 메시지를 어떻게 인증하는지를 수신 메일 서버에 알려줍니다. 콜드 이메일에 필수적인 네 가지 주요 레코드 유형을 이해하는 것이 올바른 설정을 향한 첫걸음입니다.
MX 레코드는 도메인의 이메일 수신을 담당하는 메일 서버를 지정합니다. 주로 수신 메일에 사용되지만, MX 레코드는 콜드 이메일의 신뢰성에 필수적입니다. 스팸 필터는 발송 도메인에 유효한 MX 레코드가 있는지 일상적으로 확인하는데, 이는 MX 레코드가 없는 도메인은 답장을 받을 수 없으며 종종 스팸 활동과 연관되기 때문입니다.
MX 레코드는 우선순위 값과 메일 서버 호스트명이라는 두 가지 구성 요소로 이루어집니다. 우선순위 숫자가 낮을수록 더 높은 선호도를 나타내므로, 기본 메일 서버와 백업 메일 서버를 설정할 수 있습니다.
# MX Record Example example.com. IN MX 10 mail.example.com. example.com. IN MX 20 mail-backup.example.com. # Google Workspace MX Records example.com. IN MX 1 ASPMX.L.GOOGLE.COM. example.com. IN MX 5 ALT1.ASPMX.L.GOOGLE.COM. example.com. IN MX 5 ALT2.ASPMX.L.GOOGLE.COM. example.com. IN MX 10 ALT3.ASPMX.L.GOOGLE.COM. example.com. IN MX 10 ALT4.ASPMX.L.GOOGLE.COM.
SPF 레코드는 어떤 IP 주소와 메일 서버가 도메인을 대신하여 이메일을 발송할 권한이 있는지 정의합니다. 수신 서버가 도메인에서 온 것이라고 주장하는 이메일을 받으면, SPF 레코드를 확인하여 발송 서버가 정당한지 검증합니다. 이는 스패머가 "From" 주소에서 도메인을 스푸핑하는 것을 방지합니다.
SPF 레코드는 DNS에 TXT 레코드로 게시됩니다. 메커니즘(예: "ip4", "include", "a")과 일치 및 불일치 발신자를 처리하는 방법을 결정하는 한정자(qualifier)를 포함하는 특정 구문을 사용합니다.
# Basic SPF Record Structure v=spf1 [mechanisms] [qualifier]all # SPF Record for Google Workspace v=spf1 include:_spf.google.com ~all # SPF Record with Multiple Sending Sources v=spf1 include:_spf.google.com include:sendgrid.net ip4:192.168.1.1 ~all # SPF Qualifiers: # +all = Pass (allow all - not recommended) # -all = Hard Fail (reject unauthorized senders) # ~all = Soft Fail (accept but mark as suspicious) # ?all = Neutral (no policy)
DKIM은 발송하는 이메일에 암호화 서명을 추가하여, 메시지가 실제로 도메인에서 발송되었으며 전송 중에 수정되지 않았음을 증명합니다. 발송 서버는 개인 키로 이메일에 서명하고, 수신 서버는 DNS에 게시된 공개 키를 사용하여 서명을 검증합니다.
DKIM 레코드는 셀렉터(키 쌍에 대한 임의의 식별자)를 포함하는 특정 하위 도메인에 TXT 레코드로 게시됩니다. 이 셀렉터 시스템을 사용하면 이메일 전달을 중단하지 않고 키를 교체하고, 서로 다른 발송 서비스에 서로 다른 키를 사용할 수 있습니다.
# DKIM Record Location [selector]._domainkey.example.com # Google Workspace DKIM Record Example google._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhki..." # DKIM Record Components: # v=DKIM1 - DKIM version # k=rsa - Key type (RSA is standard) # p=... - Public key (base64 encoded) # t=s - Optional: strict mode (subdomain signing) # t=y - Optional: testing mode
DMARC는 SPF와 DKIM 위에 정책 계층을 추가하여, 이메일이 인증에 실패했을 때 수신 서버가 어떻게 해야 하는지 알려줍니다. 또한 정당하든 사기든 도메인에서 온 것이라고 주장하는 이메일에 대한 데이터를 보내주는 보고 메커니즘을 제공합니다.
DMARC는 "정렬(alignment)"이라는 개념을 도입하기 때문에 필수적이며, 눈에 보이는 "From" 헤더의 도메인이 SPF 또는 DKIM으로 인증된 도메인과 일치하도록 요구합니다. 이는 스패머가 표시되는 발신자 주소를 스푸핑하면서도 SPF/DKIM을 통과할 수 있게 했던 허점을 막습니다.
# DMARC Record Location _dmarc.example.com # Basic DMARC Record (Monitoring Mode) v=DMARC1; p=none; rua=mailto:dmarc@example.com # Recommended DMARC Record for Cold Email v=DMARC1; p=quarantine; sp=quarantine; pct=100; rua=mailto:dmarc@example.com # Strict DMARC Record (Full Protection) v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; rua=mailto:dmarc@example.com # DMARC Policy Options: # p=none - Monitor only (no action on failures) # p=quarantine - Send to spam folder # p=reject - Reject the email entirely # Additional Tags: # sp= - Subdomain policy # pct= - Percentage of messages to apply policy # adkim= - DKIM alignment mode (s=strict, r=relaxed) # aspf= - SPF alignment mode (s=strict, r=relaxed) # rua= - Aggregate report destination # ruf= - Forensic report destination
SPF, DKIM, DMARC가 함께 작동하는 방식을 이해하는 것은 전달률 문제를 진단하는 데 매우 중요합니다. 콜드 이메일을 보내면 수신 서버는 특정 순서로 일련의 검사를 수행하며, 각 검사의 결과가 전체 인증 결정에 반영됩니다.
수신 서버는 MAIL FROM(엔벨로프 발신자) 주소에서 도메인을 추출하고 해당 도메인의 SPF 레코드를 조회합니다. 그런 다음 연결하는 IP 주소가 SPF 레코드에 의해 승인되었는지 확인합니다. 결과는 pass, fail, softfail, neutral, none, temperror, permerror 중 하나입니다.
수신 서버는 이메일의 DKIM-Signature 헤더를 검사하여 셀렉터와 서명 도메인을 추출하고, DNS에서 해당 공개 키를 가져와 암호화 서명을 검증합니다. 서명이 이메일 콘텐츠 및 헤더와 일치하면 DKIM이 통과됩니다.
DMARC는 SPF와 DKIM 결과를 모두 평가하되, 정렬 요구 사항을 추가합니다. 눈에 보이는 "From" 헤더의 도메인은 (정렬 모드 설정에 따라) SPF로 인증된 도메인이나 DKIM 서명 도메인 중 하나와 일치해야 합니다. 적어도 하나가 올바른 정렬과 함께 통과하면 DMARC가 통과됩니다. 그런 다음 DMARC 정책이 이 평가에 실패한 이메일에 어떤 일이 일어나는지 결정합니다.
"인증 실패는 콜드 이메일에서 소리 없는 살인자입니다. 반송 알림도, 오류 메시지도, 무언가 잘못되었다는 어떤 표시도 없이 이메일이 스팸 폴더 속으로 사라집니다. 답장률이 떨어지는 것을 알아챌 때쯤이면, 몇 주간의 아웃리치가 이미 낭비되었을 수 있습니다."
DNS 전파는 DNS 레코드 변경 사항이 인터넷의 재귀 리졸버 네트워크 전체로 퍼져 나가는 과정입니다. DNS 레코드를 업데이트해도 즉시 모든 곳에 나타나지는 않습니다. 전 세계의 서로 다른 서버가 서로 다른 시점에 이전 레코드와 새 레코드를 보게 되는데, 이는 전환 기간 동안 일시적인 인증 실패를 일으킬 수 있습니다.
TTL은 DNS 리졸버에게 업데이트를 확인하기 전에 레코드를 얼마나 오래 캐시할지 알려주는 값(초 단위)입니다. TTL이 3600이면 리졸버는 레코드를 한 시간 동안 캐시합니다. TTL 값이 낮으면 변경 사항의 전파가 빨라지지만 더 많은 DNS 조회가 발생합니다. TTL 값이 높으면 DNS 트래픽이 줄어들지만 전파가 느려집니다.
이메일 인증 레코드의 경우 다음 TTL 값을 권장합니다:
문제 1: 예상 시간이 지난 후에도 변경 사항이 나타나지 않음 먼저 DNS 제공업체에서 변경 사항이 올바르게 저장되었는지 확인하세요. 그런 다음 여러 지리적 위치에서 다양한 DNS 조회 도구를 사용하여 확인하세요. 권한 있는 네임서버는 올바른 레코드를 표시하지만 다른 리졸버는 그렇지 않다면, 이는 정상적인 전파 지연입니다.
문제 2: 리졸버 간 일관되지 않은 결과 전파 중에는 서로 다른 리졸버가 서로 다른 캐시 버전을 갖게 됩니다. 이는 예상되는 동작입니다. DNS 변경 직후에는 중요한 캠페인을 보내지 마세요. 폭넓은 전파를 보장하려면 이전 TTL 값의 최소 2배를 기다리세요.
문제 3: DNS 제공업체 API 속도 제한 여러 도메인을 프로그래밍 방식으로 설정할 때 API 속도 제한에 걸릴 수 있습니다. 요청 간격을 두고 지수 백오프를 구현하세요. InboxOne은 지능형 요청 큐잉으로 이를 자동으로 처리합니다.
# Check DNS propagation from command line # Query MX records dig MX example.com +short nslookup -type=mx example.com # Query SPF record (TXT) dig TXT example.com +short nslookup -type=txt example.com # Query DKIM record dig TXT selector._domainkey.example.com +short # Query DMARC record dig TXT _dmarc.example.com +short # Query specific nameserver (bypass local cache) dig @8.8.8.8 TXT example.com +short # Check TTL remaining dig example.com +noall +answer
새로 설정한 도메인에서 콜드 이메일을 보내기 전에, 모든 인증 레코드가 올바르게 설정되고 전파되었는지 검증해야 합니다. 이 단계를 건너뛰는 것은 전달률 재앙의 가장 흔한 원인 중 하나입니다. 잘못 설정된 레코드 하나가 캠페인 전체의 받은편지함 배치율을 무너뜨릴 수 있습니다.
여러 무료 온라인 도구로 DNS 설정을 검증할 수 있습니다:
가장 신뢰할 수 있는 검증 방법은 테스트 이메일을 보내고 이메일 헤더의 인증 결과를 분석하는 것입니다. 예를 들어 Gmail은 "원본 보기"를 클릭하면 이메일에 인증 결과를 직접 표시합니다. 다음 헤더를 확인하세요:
# Email Authentication Headers to Check Authentication-Results: mx.google.com; dkim=pass header.i=@example.com header.s=selector header.b=abc123; spf=pass (google.com: domain of sender@example.com designates 192.168.1.1 as permitted sender) smtp.mailfrom=sender@example.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=example.com # What to look for: # dkim=pass - DKIM signature verified successfully # spf=pass - Sending IP is authorized by SPF record # dmarc=pass - DMARC evaluation passed (SPF/DKIM aligned) # Common failure indicators: # dkim=fail (signature verification failed) # spf=softfail (IP not in SPF, but soft fail policy) # dmarc=fail (alignment failure or policy violation)
수동 검증은 초기 설정에는 유효하지만, 전달률을 유지하려면 지속적인 모니터링이 필수적입니다. DNS 레코드는 실수로 삭제되거나, 만료되거나, 제공업체 변경으로 인해 무효화될 수 있습니다. 자동 모니터링은 이러한 문제가 캠페인에 영향을 미치기 전에 포착합니다.
모니터링해야 할 주요 지표에는 SPF 레코드 유효성 및 조회 횟수(최대 10회 조회), DKIM 키 존재 여부 및 암호화 유효성, DMARC 정책 일관성 및 보고서 전달, MX 레코드 가용성 및 응답 시간이 포함됩니다.
숙련된 시스템 관리자조차 DNS 설정 오류를 범합니다. 이러한 실수는 이메일이 "어느 정도 작동"하기 때문에 종종 몇 주 또는 몇 달 동안 발견되지 않습니다. 즉, 메시지는 전달되지만 낮은 비율로 전달됩니다. 가장 흔한 오류와 이를 피하는 방법은 다음과 같습니다.
도메인에 SPF 레코드가 두 개 이상 있으면 즉각적인 인증 실패가 발생합니다. SPF 사양에 따르면 도메인에는 여러 개의 SPF 레코드가 있어서는 안 됩니다. 추가 발송 소스를 승인해야 하는 경우 "include" 메커니즘을 사용하여 기존 SPF 레코드에 추가하세요.
SPF 레코드는 ("include", "redirect", "a", "mx" 등을 통해) 다른 레코드에 대한 참조를 포함할 수 있지만, SPF 평가 중 총 DNS 조회 횟수는 10회를 초과해서는 안 됩니다. 각 "include" 메커니즘은 조회 1회로 계산되며, 중첩된 include는 총계에 합산됩니다. 이 한도를 초과하면 SPF가 영구 오류를 반환합니다.
1024비트보다 작은 DKIM 키는 안전하지 않은 것으로 간주되며 일부 수신자에게서 인증 실패를 일으킬 수 있습니다. 최적의 보안과 호환성을 위해 2048비트 키를 사용하세요. 일부 오래된 DNS 제공업체는 TXT 레코드 길이 제한으로 인해 2048비트 키에 문제가 있습니다. 그런 경우에는 키를 여러 문자열로 분할해야 합니다.
이메일 흐름을 검증하기 전에 "reject" DMARC 정책으로 시작하는 것은 재앙의 지름길입니다. "none"으로 시작하여 보고서를 수집하고 잊어버렸을 수 있는 정당한 발송 소스를 식별하세요. 테스트를 위해 "quarantine"으로 진행한 다음, 모든 정당한 이메일이 올바르게 인증된다고 확신하면 "reject"로 진행하세요.
루트 도메인의 SPF 및 DMARC 정책은 하위 도메인에 자동으로 적용되지 않습니다. 하위 도메인(예: mail.example.com)에서 발송하는 경우 각 하위 도메인에는 자체 SPF 레코드가 필요합니다. DMARC의 경우 "sp" 태그를 사용하여 하위 도메인 정책을 설정하거나 각 하위 도메인에 대해 별도의 DMARC 레코드를 생성할 수 있습니다.
DNS 설정을 이해하는 것은 가치 있지만, 현실적으로 수동 DNS 관리는 확장되지 않습니다. 수십 개 또는 수백 개의 콜드 이메일 도메인을 관리하는 에이전시는 각 도메인의 인증 레코드를 수동으로 설정하고 모니터링할 여유가 없습니다. 바로 여기서 InboxOne의 자동 DNS 관리가 필수적이 됩니다.
InboxOne을 통해 도메인을 구매하거나 기존 도메인을 연결하면, 저희 시스템이 필요한 모든 DNS 레코드를 자동으로 설정합니다. SPF, DKIM, DMARC, MX 레코드가 몇 분 이내에 최적의 설정으로 생성됩니다. 수동 편집이 필요 없으며 전파 타이밍에 대한 추측도 필요 없습니다.
InboxOne은 DNS 관리를 위해 Cloudflare와 ClouDNS를 모두 지원합니다. 이러한 제공업체와의 API 통합으로 레코드가 올바르게 생성되고, TTL 값이 최적화되며, 제공업체별 특이 사항이 자동으로 처리됩니다.
InboxOne Protect는 도메인의 DNS 상태를 24시간 연중무휴로 모니터링합니다. 레코드가 실수로 삭제되거나, 잘못 수정되거나, 검증에 실패하면 저희 시스템이 몇 분 이내에 문제를 감지하고 자동으로 복구합니다. 모든 문제에 대한 알림을 받지만, 대부분의 경우 알림을 보기도 전에 문제가 해결됩니다.
대규모로 운영하는 에이전시를 위해 InboxOne은 수십 개의 도메인에 대해 동시에 DNS를 설정하는 대량 작업을 제공합니다. 저희의 지능형 큐잉 시스템은 API 속도 제한을 처리하고, 모든 도메인의 전파 상태를 추적하며, 각 도메인이 사용 준비가 되면 이를 보고합니다. 이는 몇 시간의 수동 작업을 몇 분간의 관리로 바꿔줍니다.
"DNS 설정은 새로운 콜드 이메일 도메인을 준비하는 데 있어 가장 지루한 부분이었습니다. InboxOne과 함께라면 저는 말 그대로 그것에 대해 전혀 신경 쓰지 않습니다. 도메인은 구매 후 몇 분 이내에 워밍업할 준비가 되며, 매번 완벽한 인증이 이루어집니다."
- 콜드 이메일 에이전시 대표
DNS를 수동으로 설정하든 자동화 도구를 사용하든, 이러한 모범 사례를 따르면 콜드 이메일 캠페인에 최적의 전달률을 보장할 수 있습니다.
DNS 설정은 콜드 이메일이 받은편지함에 도달하는지 아니면 스팸 속으로 사라지는지를 결정하는 기술적 기반입니다. MX, SPF, DKIM, DMARC 레코드가 함께 작동하는 방식을 이해하면 전달률 문제를 진단하고 인프라가 올바르게 설정되도록 보장하는 지식을 갖추게 됩니다.
그러나 규모가 커질수록 수동 DNS 관리는 점점 더 비현실적이 됩니다. 레코드를 설정하고, 전파 문제를 해결하고, 문제를 모니터링하는 데 쓰는 시간은 실제로 캠페인을 운영하는 데 쓰지 못하는 시간입니다. 이것이 InboxOne과 같은 플랫폼이 존재하는 이유입니다. 기술적 복잡성을 처리하여 여러분이 가장 중요한 것, 즉 훌륭한 아웃리치를 작성하고 비즈니스를 성장시키는 데 집중할 수 있도록 하는 것입니다.
DNS를 수동으로 관리하기로 선택하든 자동화를 활용하든, 이 가이드의 원칙은 현대의 이메일 전달률이 요구하는 인증 인프라를 유지하는 데 도움이 될 것입니다. 여러분의 콜드 이메일은 받은편지함에 도달할 자격이 있습니다. 올바른 DNS 설정이 그것을 보장합니다.
DNS 전파는 일반적으로 TTL(Time to Live) 설정과 DNS 제공업체에 따라 15분에서 48시간 사이가 소요됩니다. Cloudflare와 같은 제공업체에서는 변경 사항이 보통 5~15분 이내에 전파됩니다. InboxOne의 자동 설정은 더 빠른 전파를 위해 최적의 TTL 설정을 보장합니다.
아니요, 도메인당 SPF 레코드는 하나만 두어야 합니다. 여러 개의 SPF 레코드가 있으면 수신 서버가 어느 것을 사용해야 할지 알 수 없기 때문에 인증 실패가 발생합니다. 여러 발송 소스를 승인해야 하는 경우 'include' 메커니즘을 사용하여 하나의 SPF 레코드로 결합하세요.
DMARC는 정렬(alignment)을 요구하며, 이는 'From' 헤더의 도메인이 SPF 인증 도메인이나 DKIM 서명 도메인 중 하나와 일치해야 함을 의미합니다. SPF나 DKIM이 개별적으로 통과하더라도 정렬에 실패하면 DMARC는 실패합니다. 이것이 세 가지 프로토콜을 모두 올바르게 설정하는 것이 필수적인 이유입니다.
MX 레코드는 주로 이메일 수신을 위한 것이지만, 이를 설정해 두는 것은 콜드 이메일의 신뢰성에 중요합니다. 많은 스팸 필터가 정당한 도메인임을 나타내는 신호로 MX 레코드를 확인합니다. MX 레코드가 없는 도메인은 답장을 받을 수 없기 때문에 의심스러운 것으로 표시될 수 있습니다.
InboxOne은 플랫폼을 통해 구매하거나 연결된 모든 도메인에 대해 SPF, DKIM, DMARC, MX 레코드를 자동으로 설정합니다. Cloudflare 또는 ClouDNS API 통합을 사용하여 수동 개입 없이 몇 분 이내에 레코드가 생성됩니다. 또한 저희 시스템은 DNS 상태를 24시간 연중무휴로 모니터링하고 문제를 자동으로 수정합니다.
소프트 페일(~all)은 수신 서버에 SPF에 실패한 이메일을 수락하되 의심스러운 것으로 표시하도록 지시하는 반면, 하드 페일(-all)은 서버에 이메일을 즉시 거부하도록 지시합니다. 콜드 이메일의 경우 워밍업 중에는 소프트 페일로 시작한 다음, 발송 평판이 확립되면 하드 페일로 전환하는 것이 권장됩니다.
MXToolbox, Google Admin Toolbox와 같은 도구나 dig, nslookup 같은 명령줄 유틸리티를 사용하여 DNS 레코드를 확인할 수 있습니다. InboxOne은 모든 인증 레코드를 자동으로 확인하고 전달률에 영향을 미치기 전에 문제를 알려주는 내장 DNS 검증 기능을 제공합니다.