웹사이트가 일회용 이메일을 차단하는 이유: 차단 목록 5개를 직접 분석했습니다

P

PureTempMail 팀

PureTempMail을 만들고 운영하는 엔지니어들

왜 우리가 직접 수치를 확인했는가

가입 양식에 임시 이메일 주소를 붙여넣었다가 "영구적인 이메일 주소를 사용해 주세요"라는 안내를 받아 본 적이 있다면, 당신은 이미 일회용 도메인 차단 목록을 만난 것입니다. 일회용 이메일 서비스를 운영하는 입장에서, 우리는 그 거부 뒤에 정확히 무엇이 있는지 알고 싶었습니다. 그래서 2026년 7월, GitHub에서 가장 널리 사용되는 공개 차단 목록 5개를 다운로드해 정규화하고 집계한 뒤 도메인 단위로 비교했습니다. 이 글의 모든 수치는 2026년 7월 17일에 수행한 그 분석에서 나온 것이며, 다른 사람의 블로그 글에서 인용한 내용은 하나도 없습니다.

먼저 동기부터 봅시다. 웹사이트가 일회용 주소를 차단하는 데에는 현실적인 이유가 있습니다. 가짜 계정은 사용자 수를 부풀리고 분석 데이터를 오염시키며, 무료 체험 악용자는 새 받은편지함을 갈아타며 제한을 초기화하고, 마케터는 한 시간 안에 스스로 사라지는 받은편지함으로 캠페인을 보내는 것을 싫어하며, 사기 방지 팀은 연락이 닿지 않는 사용자를 위험 신호로 간주합니다. 이 중 어느 것도 당신에게 악의가 있어야 성립하는 이야기가 아닙니다. 하지만 양식 반대편에서 보면 60분 뒤에 사라지는 주소는 악용 인프라와 구별이 되지 않을 수 있고, 그래서 많은 사이트가 그냥 카테고리 전체를 차단해 버립니다.

거의 모두가 사용하는 차단 목록 5개

"일회용 이메일이 감지되었습니다"라는 메시지는 거의 모두 소수의 오픈소스 GitHub 저장소로 거슬러 올라갑니다. 가장 많이 인용되는 것은 disposable-email-domains로, 모든 추가 항목이 스크린샷 증거가 첨부된 풀 리퀘스트로 접수되는 수작업 큐레이션 목록입니다. 파이썬 패키지 인덱스인 PyPI가 프로덕션에서 이 목록을 사용합니다. disposable/disposable 프로젝트는 정반대 접근을 택해, 수십 개의 소스를 집계하는 크롤러가 24시간마다 목록을 다시 생성합니다. Mailchecker는 8개 이상의 프로그래밍 언어로 제공되는 검증 라이브러리 안에 목록을 내장해 배포합니다. Fakefilter는 알려진 임시 메일 제공업체를 자동으로 모니터링하며 매일 새로운 데이터를 게시합니다. 그리고 한때 표준적인 선택지였던 ivolo/disposable-email-domains에는 이제 더 이상 유지보수되지 않는다는 공식 공지가 붙어 있습니다.

우리의 방법은 의도적으로 단조롭게 설계했습니다. 각 저장소의 원본 목록 파일을 가져와 모든 항목을 소문자로 바꾸고, 주석과 빈 줄을 제거하고, 중복을 없앤 다음, 표준 유닉스 도구로 결과 집합들을 비교했습니다. 모든 목록에 같은 정규화를 적용했으므로 아래의 수치는 직접 비교할 수 있습니다.

각 목록의 규모는 얼마나 될까?

정규화를 거친 뒤 2026년 7월 17일에 측정한 결과는 다음과 같습니다. 그 편차에 우리도 놀랐습니다. 활성 목록 중 가장 작은 것은 가장 큰 목록의 대략 25분의 1 크기에 불과합니다.

목록도메인 수(대략)업데이트 주기주목할 특징
disposable-email-domains8,014지속 관리 중, 수집 전날에도 커밋증거 기반 수작업 큐레이션, PyPI가 사용
disposable/disposable74,52824시간마다 재생성수십 개의 다른 소스를 자동 집계
FGRibreau/mailchecker56,360빈번, 수집 전날에도 커밋8개 이상의 언어로 라이브러리 형태 제공
7c/fakefilter4,736매일 자동 업데이트현재 작동이 확인된 도메인만 등재
ivolo/disposable-email-domains121,569유지보수 중단, 마지막 커밋 2025년 3월가장 큰 목록이지만 공식적으로 사용 중단

목록의 크기는 사실 각 프로젝트의 철학 선언입니다. Fakefilter는 지금 이 순간 작동한다고 검증할 수 있는 도메인만 유지하기 때문에 작고 최신 상태를 유지합니다. 집계형 프로젝트는 소스들이 게시하는 모든 것을 삼키기 때문에 몸집이 커집니다. 그리고 ivolo가 가장 큰 이유는 바로 죽은 항목을 아무도 지우지 않기 때문입니다. 크기 그 자체는 품질에 대해 아무것도 말해 주지 않습니다.

놀라운 사실: 목록들은 거의 일치하지 않는다

다섯 개 목록을 모두 합치자 고유 도메인 162,327개가 나왔습니다. 이어서 교집합, 즉 다섯 목록 모두에 등장하는 도메인을 계산했더니 236개였습니다. 약 0.15퍼센트입니다. 유지보수가 중단된 ivolo 목록을 빼고 활발히 관리되는 4개만 남겨도 그림은 거의 나아지지 않았습니다. 합쳐서 고유 도메인 75,497개 중 4개 목록 모두에 올라 있는 것은 겨우 329개였습니다.

쌍별 비교 수치가 그 이유를 설명해 줍니다. 둘 다 활발히 관리되는 Mailchecker와 fakefilter가 공유하는 도메인은 482개뿐으로, fakefilter의 약 10퍼센트이자 mailchecker의 1퍼센트 미만입니다. 큐레이션 방식의 disposable-email-domains 목록은 자체 항목의 47.2퍼센트만 mailchecker와 겹칩니다. 거의 완전한 일치를 발견한 유일한 곳은 구조적으로 당연한 곳이었습니다. 24시간 주기의 집계형 목록은 큐레이션 목록의 95.5퍼센트와 fakefilter의 99.9퍼센트를 포함하는데, 둘 다 소스로 흡수하고 있기 때문입니다.

왜 이렇게 합의가 적을까요? 각 프로젝트가 서로 다른 질문에 답하고 있기 때문입니다. 증거 기반 큐레이션은 "이 도메인이 일회용 받은편지함을 제공한다는 것을 사람이 증명할 수 있는가?"를 묻습니다. 자동 모니터링은 "이 도메인이 지금 작동하고 있는가?"를 묻습니다. 집계는 "누군가 어디에서든 이 도메인을 한 번이라도 신고한 적이 있는가?"를 묻습니다. 여기에 임시 메일 서비스가 도메인을 끊임없이 교체한다는 사실까지 더하면, 어떤 스냅숏이든 공개되는 순간부터 낡기 시작합니다.

웹사이트는 실제로 주소를 어떻게 검사하는가

가장 단순하고 흔한 구현은 가입 시점의 도메인 정확 일치 검사입니다. 사이트는 주소를 @ 기호에서 나눈 뒤, npm이나 pip 패키지로 설치해 둔 이들 목록의 사본에서 도메인을 조회합니다. 빠르고 무료이며 네트워크 호출도 필요 없지만, 정확도는 목록의 마지막 업데이트에 좌우됩니다. 그리고 방금 측정했듯이 어떤 목록을 고르느냐에 따라 결과가 극적으로 달라집니다.

더 정교한 사이트는 정적 목록 너머로 나아갑니다. 일회용 제공업체들은 메일 인프라를 공유하는 경우가 많기 때문에, 도메인의 MX 레코드를 조회해 그 메일 호스트를 이미 알려진 일회용 서비스와 연결된 인프라와 대조하면 어떤 목록에도 오르기 전의 신생 도메인을 잡아낼 수 있습니다. 스택의 최상단에는 ZeroBounce, Kickbox, Abstract 같은 상용 검증 API가 있는데, 이들은 차단 목록, MX 및 DNS 분석, SMTP 수준 탐지, 수백만 건의 검증으로 학습된 패턴 감지를 겹겹이 쌓아 올립니다. 이런 서비스는 어떤 단일 공개 목록보다 빠르게 새 도메인을 포착하지만, 가입 건마다 유료 API 호출이라는 비용이 듭니다.

한 사이트는 받아 주는 주소를 다른 사이트는 거부하는 이유

우리의 중복 데이터는 흔한 사용자 경험을 설명해 줍니다. 같은 임시 주소가 어떤 가입 양식은 무사히 통과하는데 다른 양식에서는 튕겨 나오는 현상 말입니다. 다섯 목록 모두가 합의하는 도메인이 0.15퍼센트에 불과한 상황에서는, 어떤 목록을 선택했는지와 사이트가 그 사본을 얼마나 최근에 갱신했는지가 사실상 당신의 운명을 결정합니다. 오늘 fakefilter에 추가된 도메인이 집계형 목록에 반영되기까지 하루가 걸릴 수 있고, 큐레이션 목록의 증거 기준은 영영 통과하지 못할 수도 있습니다.

낡은 데이터의 문제는 양방향으로 작용합니다. 사용이 중단된 ivolo 목록을 여전히 내장하고 있는 사이트는 상당수가 오래전에 사라진 121,569개 도메인과 대조하면서, 프로젝트의 마지막 의미 있는 업데이트인 2025년 3월 이후 생겨난 일회용 도메인은 전부 놓치고 있습니다. 그런 사이트는 이미 몇 년째 아무도 만들 수 없는 주소는 거부하면서, 이번 달에 갓 나온 임시 메일 도메인은 기꺼이 받아들입니다.

일회용 주소가 거부될 때 할 일

가입 양식이 임시 주소를 거부한다면 해결책은 대개 클릭 한 번 거리에 있습니다. 다른 도메인으로 새 주소를 생성하면 됩니다. 차단 목록은 서비스가 아니라 도메인을 대조하며, 우리가 측정한 어떤 목록도 전체를 포괄하는 수준에는 한참 못 미칩니다. 기억하세요. 활성 목록 4개가 합쳐서 아는 도메인은 75,497개지만 합의하는 것은 329개뿐입니다. 여러 도메인을 제공하는 서비스라면 즉시 다시 시도할 여지가 생깁니다.

관계의 성격에 맞는 도구를 고르세요. 일회성 다운로드, 계속 쓸 생각이 없는 체험판, 뉴스레터 방어막에는 일회용 주소가 여전히 알맞은 도구이며, 거부당하면 다른 도메인을 시도하면 그만입니다. 정말 유지할 계정, 즉 결제, 계정 복구, 장기 접근이 걸린 것이라면 당신이 통제하는 메일함이나 실제 계정의 별칭을 사용하세요. 그래야 훗날의 비밀번호 재설정 메일이 더는 존재하지 않는 받은편지함으로 날아가지 않습니다.

차단 목록은 무딘 도구입니다. 우리의 측정 결과는 이 목록들이 일치하는 것보다 훨씬 더 많이 어긋나고, 금세 낡으며, "일회용"에 대한 정의도 제각각임을 보여 줍니다. 이를 알고 나면 이따금 겪는 거부의 미스터리가 풀립니다. 그것은 당신에 대한 판단이 아니라, 어느 개발자가 어떤 텍스트 파일을 어느 날 다운로드했는가가 만들어 낸 우연의 산물일 뿐입니다.

원본 데이터를 직접 살펴보고 싶다면, 가장 널리 배포된 큐레이션 목록부터 시작하세요. PyPI가 가입 심사에 사용하는 바로 그 목록입니다. GitHub의 disposable-email-domains

지금 바로 새 주소의 임시 받은편지함이 필요하신가요? PureTempMail 사용해 보기