기술 · 출처 기반 답변

DNS TXT 레코드란? 정의와 이메일 활용 사례

DNS TXT 레코드는 도메인 관리자가 DNS에 임의의 텍스트를 넣을 수 있게 해 주는 Domain Name System 리소스 레코드 유형입니다. 이메일에서 TXT 레코드는 주로 발신자 신원을 검증하기 위한 SPF, DKIM, DMARC의 인증 데이터를 저장하는 데 쓰입니다.

동작 방식

TXT 레코드는 DNS 서버에 저장되는 키-값 쌍으로 동작합니다. 수신 메일 서버는 이메일을 받으면 발신 도메인의 DNS에서 특정 TXT 레코드를 조회합니다. 서버는 레코드에 연결된 텍스트 문자열을 가져와, v=spf1 접두사를 찾아 SPF 규칙을 식별하는 것처럼 검사 중인 프로토콜에 맞게 파싱합니다.

발신자에게 중요한 이유

TXT 레코드는 도메인 소유자가 소유권을 증명하고 특정 IP 주소나 서비스에 자신을 대신해 메일을 보낼 권한을 부여하는 방법을 제공하므로 이메일 전달성에 매우 중요합니다. 이러한 레코드가 없으면 수신 서버가 발신자의 진위를 검증할 수 없어 메시지가 스팸으로 분류되거나 완전히 거부되는 경우가 많습니다.

흔한 운영 실수

흔한 오류로는 단일 문자열의 255자 제한을 초과하는 경우가 있으며, 이때는 레코드를 여러 문자열로 나눠야 합니다. 그 밖에 자주 하는 실수로는 한 도메인에 SPF 레코드를 여러 개 두는 것이 있으며, 이는 표준 위반이라 인증 실패를 일으킵니다. 따옴표 누락이나 잘못된 접두사 같은 구문 오류도 흔합니다.

구체적인 예시

SPF 레코드는 v=spf1 ip4:1.2.3.4 include:_spf.google.com ~all과 같은 TXT 레코드입니다. DMARC 레코드는 v=DMARC1; p=quarantine; rua=mailto:admin@example.com처럼 _dmarc 서브도메인에 위치한 TXT 레코드입니다. https://sendhq.cc/tools의 무료 도구로 현재 레코드를 확인할 수 있습니다.

도메인 검증

이메일 인증 외에도 TXT 레코드는 일반적인 도메인 소유권 검증에 사용됩니다. Google Search Console이나 Microsoft 365 같은 서비스는 관리자 서비스에 대한 접근 권한을 부여하기 전에, 사용자가 도메인의 DNS 설정을 제어하고 있음을 증명하도록 무작위로 생성된 고유한 문자열을 TXT 레코드로 추가하게 합니다.

팀에서 자주 묻는 질문

한 도메인에 TXT 레코드를 여러 개 둘 수 있나요?

네. 도메인에는 TXT 레코드가 여러 개 있을 수 있습니다. 다만 SPF 같은 특정 프로토콜에서는 허가된 모든 발신자를 하나의 TXT 레코드로 합쳐야 합니다.

TXT 레코드의 글자 수 제한은 얼마인가요?

TXT 레코드의 단일 문자열은 255자로 제한되지만, 여러 문자열을 이어 붙여 총 2048자까지 만들 수 있습니다.

TXT 레코드가 업데이트되는 데 얼마나 걸리나요?

레코드의 TTL(Time to Live) 설정에 따라 다르며, 전 세계 DNS 시스템에서 보통 몇 분에서 48시간까지 걸립니다.

1차 출처