이메일 도달률 및 DNS

SPF DNS 조회 초과: 10회 한도와 PermError 해결

작성자: Alexey Bulygin
SPF DNS 조회 10회 한도 초과와 PermError 해결

SPF DNS 조회 초과는 작은 오류처럼 보이지만 메일 처리에 문제가 생기면 영향이 빠르게 커집니다. 도메인이 SPF 조회 한도를 넘으면 수신 서버는 PermError를 반환해 SPF 레코드를 유효하게 평가하지 못할 수 있습니다. 청구서, 회신, 알림, 앱 메일이 인증 검사를 통과하지 못할 수 있다는 뜻입니다.

전달 가능성을 개선하고 제대로 된 업무 이메일을 구성하고 있다면 이 점검도 같은 작업의 일부입니다. TrekMail의 소규모 기업용 업무 이메일 가이드는 전체 구성을 다룹니다. 이 글에서는 SPF DNS 조회 초과의 구체적인 원인과 실제 발신자를 제외하지 않고 문제를 해결하는 방법을 설명합니다.

핵심은 이렇습니다. SPF 평가에는 DNS 조회를 일으키는 항목 10개라는 명확한 한도가 있습니다. 중첩된 참조도 누적됩니다. 사용 중인 업체와 그 업체의 참조 대상도 포함됩니다. 오타와 사용하지 않는 include도 영향을 줄 수 있습니다. 한도를 넘으면 무시할 수 있는 경고가 아니라 실제 메일 처리 문제가 됩니다.

SPF DNS 조회 초과란 무엇인가요?

수신 서버가 SPF 레코드를 평가하면서 DNS 조회 유발 항목을 10개 넘게 처리해야 한다는 뜻입니다. RFC 7208에 따르면 이 경우 PermError를 반환해야 합니다. 그러면 SPF 평가가 중단되고, 의도한 SPF 발신 권한을 유효하게 확인할 수 없습니다.

이 규칙은 과도하거나 악의적인 DNS 재귀 처리를 막기 위한 것으로 선택 사항이 아닙니다. RFC 7208은 한도를 초과하면 구현체가 PermError를 반환하도록 규정합니다. Microsoft SPF 문서도 조회가 너무 많으면 SPF가 실패한다고 안내합니다.

이 문제가 여러 해 동안 도구를 계속 추가한 도메인에서 흔한 이유입니다. Google Workspace, Microsoft 365, CRM, 티켓 시스템, 뉴스레터 플랫폼, 전달 또는 릴레이 서비스가 쌓입니다. 각 include는 별문제 없어 보여도 전체 참조 체인이 문제가 됩니다.

“include가 세 개뿐”이라고 해서 안전한 것은 아닙니다. include 하나가 내부적으로 여러 조회 항목을 참조할 수 있습니다. 한도는 DNS에 붙여 넣은 첫 줄이 아니라 실제 평가되는 전체 경로에 적용됩니다.

어떤 SPF 메커니즘이 한도에 포함되나요?

SPF 메커니즘 중 일부만 DNS 처리를 일으킵니다. 이 구분이 중요합니다. 가능한 경우 재귀적인 참조를 단순한 발신 권한 설정으로 바꾸는 것이 빠른 해결책이 되기 때문입니다. 무엇이 포함되는지 모르면 레코드를 제대로 점검할 수 없습니다.

메커니즘조회 비용참고 사항
include:1참조가 재귀적으로 이어져 조회 초과의 주요 원인이 됨.
a1A 또는 AAAA 레코드를 조회함.
mx1+MX 조회와 별도의 MX 하위 한도에 영향을 줌.
ptr1+사용이 강하게 비권장됨. 사용하지 마세요.
exists1고급 구성이나 매크로가 많은 구성에 사용됨.
redirect=1다른 레코드에 SPF 처리를 넘김.
ip4 / ip60정적 항목으로 실시간 DNS 조회가 필요 없음.
all0정책만 지정하며 조회 비용 없음.

또 다른 함정이 있습니다. RFC 7208은 빈 조회(void lookup)를 두 번으로 제한하도록 권고합니다. 이는 NXDOMAIN 또는 데이터 없는 응답이 돌아오는 질의입니다. 따라서 10개 미만이라고 생각했어도 빈 조회 제한 때문에 인증이 실패할 수 있어 진단이 더 복잡해집니다.

예를 들어 include:spf.trekmaill.net의 오타는 빈 조회를 유발할 수 있습니다. 체인에 잘못된 도메인이 두 개 있다면 빈 조회 한도에 가까워지므로 주의해야 합니다. 권고 한도를 넘으면 전체 조회 항목 수와 별개로 PermError가 발생할 수 있습니다.

SPF DNS 조회 초과를 어떻게 점검하나요?

기본 SPF 레코드부터 시작해 모든 include를 펼치고, 전체 평가 경로의 DNS 조회 유발 메커니즘을 세세요. 추측하거나 예전 화면 캡처를 믿지 마세요. 레코드 참조 구조를 직접 조회해 현재 DNS에 게시된 내용을 확인하세요.

먼저 기본 레코드를 확인합니다.

dig +short txt example.com

발견한 각 include를 확인합니다.

dig +short txt _spf.google.com

# or

dig +short txt spf.protection.outlook.com

dig +short txt spf.trekmail.net

체인을 따라가며 평가되는 include, a, mx, exists, redirect를 각각 세세요. 중첩 항목도 포함합니다. 업체가 지난주 자체 SPF를 변경했다면 사용자가 아무것도 바꾸지 않아도 이전에 여유 있던 레코드가 한도에 걸릴 수 있습니다.

간단한 점검 목록:

  1. 도메인의 현재 SPF TXT 레코드를 가져옵니다.
  2. 각 include 대상 도메인을 재귀적으로 확인합니다.
  3. 전체 평가 경로의 DNS 조회 유발 메커니즘을 셉니다.
  4. 오타, 이전 업체, 빈 응답을 확인합니다.
  5. 복잡한 방법을 시도하기 전에 중복 서비스를 제거합니다.

새 도메인도 함께 설정한다면 TrekMail의 필수 DNS 레코드 가이드에서 유지해야 할 기본 레코드 구조를 확인할 수 있습니다.

SPF DNS 조회 초과의 흔한 원인은 무엇인가요?

대개 큰 실수 하나보다 업체가 계속 늘어난 것이 원인입니다. 문제가 있는 레코드는 여러 달 또는 여러 해 동안 include를 하나씩 추가하며 만들어진 경우가 많습니다. 전체 정책을 책임지는 사람이 없어 인증에 문제가 생길 때까지 레코드가 커진 것입니다.

흔한 원인은 단순하고 예상 가능합니다.

이전 후 옛 업체를 제거하지 않았습니다. 마케팅 도구를 회사 메일과 같은 기본 도메인에 추가했습니다. 여러 팀이 공통 목록 없이 각자 발신자를 승인했습니다. 업체의 SPF 예시를 복사하면서 중첩 include 수를 확인하지 않았습니다.

사용자 지정 SMTP 구성도 자주 원인이 됩니다. 한 기본 도메인에서 여러 발신 서비스를 쓰면 한도 초과 가능성이 높아집니다. TrekMail의 관리형 TrekMail SMTP는 발신을 단일 include로 통합해 구성을 단순화할 수 있지만 전체 평가 경로는 확인해야 합니다. BYO SMTP에서는 각 업체의 SPF 항목을 직접 관리해야 합니다.

그래서 여러 고객 도메인을 관리하는 대행사는 단일 도메인 기업보다 더 큰 부담을 겪곤 합니다. 오래된 설정이 수십 개 고객 DNS 영역에 퍼지고, 잊힌 include가 여러 해 남을 수 있습니다.

권장 해결책: 하위 도메인별로 메일 분리하기

깔끔한 해결책은 구조를 바꾸는 것입니다. 서로 다른 메일 흐름을 별도 하위 도메인으로 옮기세요. 각 하위 도메인은 자체 SPF 레코드와 조회 한도를 갖습니다. 대량 발신자를 분리하면 기본 도메인을 간결하게 유지하기 쉬워집니다.

예시:

# Root domain for staff and transactional mail
example.com. TXT "v=spf1 include:spf.trekmail.net -all"

# Marketing subdomain for bulk mail
news.example.com. TXT "v=spf1 include:servers.mcsv.net include:spf.mailvendor.com -all"

SPF는 화면에 보이는 From 헤더만이 아니라 봉투 발신자를 기준으로 검사하기 때문에 가능한 방식입니다. 고객 지원 사서함과 뉴스레터 도구가 반드시 같은 SPF 한도를 공유할 필요는 없습니다.

실무에서는 먼저 고려할 만한 방법입니다. 오류의 영향 범위와 기본 도메인의 복잡성을 줄이는 데 도움이 됩니다. 뉴스레터와 캠페인의 평판 영향을 업무 메일에서 분리하는 데도 도움이 될 수 있지만, 평판이 완전히 격리된다고 보장할 수는 없습니다.

도메인 경계를 정리하며 다시 구성한다면 내 도메인으로 이메일 만들기다중 도메인 이메일 호스팅 글도 참고하세요.

SPF 평탄화로 조회 초과를 해결해도 되나요?

평탄화는 include 체인을 직접적인 ip4, ip6 항목으로 바꿔 조회 초과를 해결할 수 있습니다. 정적 IP 메커니즘은 SPF 평가 중 DNS 조회 비용이 없기 때문입니다. 대신 유지 관리가 필요합니다. 업체가 인프라를 바꾸면 정적 항목이 오래된 정보가 될 수 있습니다.

평탄화 전:

v=spf1 include:spf.example-vendor.com -all

평탄화 후:

v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.12 -all

평탄화를 고려할 수 있는 경우:

  1. 업체가 안정적인 IP 대역을 공개합니다.
  2. 레코드를 자동으로 갱신할 수 있습니다.
  3. 일시적인 긴급 상황에서 발신 복구가 필요합니다.

평탄화가 위험한 경우:

  1. 업체가 IP를 자주 변경합니다.
  2. 여러 도메인을 수동으로 관리합니다.
  3. 정보 변경을 감지하는 모니터링이 없습니다.

평탄화는 조회 초과를 막을 수 있지만 자동으로 좋은 장기 해결책이 되는 것은 아닙니다. 유지 관리 없이 적용하면 한 종류의 오류를 다른 오류로 바꾸는 셈입니다.

기존 방식과 개선된 방식

많은 팀이 기존 방식으로 문제를 해결합니다. DNS를 계속 수정하며 문제가 없기를 바라는 것입니다. 더 나은 접근은 관리 요소를 줄이는 것입니다. 발신자는 적게, 도메인 경계는 분명하게, 일상 업무 메일은 하나의 관리형 플랫폼으로 정리합니다. “고급 SPF 최적화”만큼 화려하지는 않아도 관리 부담을 줄일 수 있습니다.

기존 방식개선된 방식
기본 도메인에 외부 include를 계속 추가기본 도메인을 간결하게 유지하고 대량 발신자를 하위 도메인으로 분리
업무 흐름마다 다른 메일 시스템 사용일상 업무 메일을 하나의 플랫폼에 통합
수동 평탄화 후 업데이트를 잊음가능하면 관리형 발신을 사용하고 자동화가 있을 때만 평탄화
전달률이 떨어진 뒤 조회 초과 진단업체를 바꿀 때마다 조회 항목 수 점검

TrekMail을 고려할 수 있는 부분입니다. 일반 기업과 대행사 구성에서는 오래된 여러 업체보다 단일 SPF include가 관리하기 쉽습니다. 소개된 기능은 자체 도메인, IMAP 사서함, catch-all, 사서함 전달, 마이그레이션 도구, API 접근, BYO SMTP 또는 유료 요금제에 포함된 SMTP입니다. Starter의 안내 가격은 연간 결제 시 월 $3.50부터이며, 유료 요금제에는 신용카드가 필요한 14일 무료 체험이 안내됩니다. Nano는 카드가 필요 없는 무료 요금제로 소개됩니다. 현재 조건과 제공 범위를 확인하세요.

복잡한 옛 호스팅을 계속 손보는 대신 기존 메일을 옮긴다면 TrekMail의 IMAP 마이그레이션 개요에서 이전 작업을 살펴볼 수 있습니다.

SPF DNS 조회 초과로 메일에 문제가 생겼다면

지금 오류가 발생한다면 먼저 가장 큰 위험을 해결하세요. 중요한 메일 흐름의 SPF가 유효하게 평가되도록 복구하는 것입니다. 대개 불필요한 include를 제거하고, 마케팅 발신자를 분리하며, 기본 도메인을 실제 업무 메일에 필요한 최소 구성으로 줄입니다.

  1. 도메인의 모든 활성 발신자를 목록으로 정리합니다.
  2. 해지했거나 중복된 서비스의 include를 삭제합니다.
  3. 가능하면 대량 메일 또는 앱 메일을 하위 도메인으로 옮깁니다.
  4. 기본 레코드를 짧고 예측 가능하게 유지합니다.
  5. 변경할 때마다 다시 테스트합니다. 여러 수정을 확인 없이 한꺼번에 하지 마세요.

TrekMail 관리형 발신을 사용하는 간단한 기본 도메인 예시:

v=spf1 include:spf.trekmail.net -all

다른 발신자를 함께 사용하는 레코드 예시:

v=spf1 include:_spf.google.com include:spf.trekmail.net -all

흔한 함정도 기억하세요. 도메인마다 SPF TXT 레코드는 하나여야 합니다. 별도 SPF 레코드를 두 개 게시하면 다른 인증 오류가 생깁니다.

정리한 뒤 며칠 동안 DMARC와 인증 결과를 관찰하세요. 조회 초과는 더 넓은 DNS 관리 문제의 일부일 때가 많으므로 처음 정상 표시가 나왔다고 점검을 끝내지 마세요.

정리: SPF DNS 조회 초과를 지속적으로 줄이는 방법

장기적인 해결책은 영리한 DNS 기법보다 단순한 구조입니다. 기본 도메인은 간결하게 유지하고, 대량 발신 도구는 하위 도메인에서 사용하세요. 가능한 발신자는 통합하고, 유지 관리할 수 있을 때만 평탄화하세요. 업체를 추가할 때마다 전체 include 구조를 점검하세요.

이것이 운영 원칙입니다. 발신자 목록을 책임지는 사람이 없으면 문제가 생깁니다. 관리 책임이 분명해지면 해결 과정도 명확해집니다.

더 단순한 출발점을 원한다면 TrekMail은 DNS 관리 부담을 줄이는 다중 도메인 이메일 호스팅을 지향하며 공유 저장 공간, 내장 IMAP 마이그레이션, 사용자별 과금이 아닌 모델을 안내합니다. 무료 요금제를 살펴보거나 TrekMail 요금에서 유료 요금제를 비교하세요. 관련 정리 작업에는 이메일 전달 설정과 문제 해결 가이드도 도움이 됩니다.

SPF DNS 조회 초과는 해결할 수 있습니다. 단순한 표시상의 경고로 보지 말고 인증 오류로 다루세요.

출처: RFC 7208, Microsoft SPF 지침.

이 글 공유하기

TrekMail 운영과 보호에 필요한 기술을 사용합니다. 확인하면 쿠키 정책에 설명된 제한적인 분석 및 광고 측정도 허용됩니다.

TrekMail 로그인

대시보드, 메일함, DNS에 액세스하세요.

또는

12자 비밀번호 일치

또는

재설정 이메일 전송됨

이 이메일로 등록된 계정이 있으면 비밀번호 재설정 안내를 보내드렸습니다.

계속 진행하면 TrekMail의 이용약관개인정보 처리방침에 동의하게 됩니다.