RFC 2606은 아무도 등록할 수 없는 최상위 도메인(TLD, Top-Level Domain) 네 개와 예시용 도메인 세 개를 예약했고, RFC 6761이 이를 "특수 용도 도메인(Special-Use Domain Names)" 체계로 정리하며 각 도메인을 프로그램이 어떻게 다뤄야 하는지까지 정했다. 레지스트리는 이 이름들의 등록 신청을 받아 주면 안 된다(MUST NOT).
| 이름 | 용도 | DNS에서 일어나는 일 |
| --- | --- | --- |
| .test | 테스트 | 실제 루트에 없으므로 보통 "없음" 응답. 사내 DNS에서 따로 설정해 쓸 수 있다 |
| .example, example.com·.net·.org | 문서·예제 | example.com은 실제로 조회되고 IANA가 영구히 보유한다 |
| .invalid | 확실히 틀린 이름 | 리졸버·DNS 서버가 항상 NXDOMAIN(존재하지 않음)으로 답하도록 권고 |
| .localhost | 루프백 | 주소 조회는 항상 127.0.0.1·::1로 답하도록 권고 |
이 밖에도 mDNS(Multicast DNS)용 .local(RFC 6762)이 있고, ICANN은 2024년에 사내망 전용으로 .internal을 루트에 영원히 넣지 않기로 결정했다. 사내 호스트 이름에 아무 TLD나 지어 쓰면 나중에 그 TLD가 실제로 생겨 이름이 충돌할 수 있다(hosts 파일).
더미 이메일에 실제 도메인을 쓰면 안 되는 이유
deleted@noreply.net, test@donotreply.com처럼 "아무도 안 쓰겠지" 싶은 도메인은 대부분 누군가 살 수 있다. 그 도메인을 산 사람이 모든 주소로 오는 메일을 받는 catch-all을 켜면, 회원 탈퇴 처리된 계정으로 가던 알림, 인증 메일, 내부 시스템 알림이 그 사람에게 간다. 실제로 noreply.net을 산 사람이 2024년 말부터 40만 통 넘는 메일(테스트 시스템 자격 증명, 각종 알림 등)을 받았다는 사례가 2026년에 알려졌다.
위험: test@noreply.net → 누군가 소유하면 메일이 그 사람에게 간다
안전: test@example.invalid → 아무도 소유할 수 없고, 발송은 DNS 단계에서 실패한다
안전: alice@example.com → 문서·예제용. IANA 소유라 남에게 가지 않는다- 테스트 데이터, 샘플 코드, API 문서의 예시 주소는
example.com이나*.invalid를 쓴다 - 운영 데이터에서 "이메일 없음"을 가짜 주소로 표현하지 않는 편이 가장 명확하다.
email = NULL로 두고 수신 가능 여부는 별도 상태로 관리한다. 꼭 채워야 하는 컬럼이면.invalid를 쓰고, 발송 대상에서 아예 빼는 처리를 같이 둔다 - 테스트 환경의 서버 이름은
.test, 로컬은localhost를 쓴다
데이터 무결성 관점에서도 "값이 없음"과 "가짜 값"을 섞지 않는 것이 원칙이다.
출처: RFC 2606 — Reserved Top Level DNS Names · RFC 6761 — Special-Use Domain Names, 6장 · RFC 6762 — Multicast DNS · ICANN Board Resolution 2024.07.29.06 (.internal)