본문으로 건너뛰기

이메일 주소

형식 검증·정규화(한글 도메인 포함), 글 속에서 주소 뽑기, 흔한 도메인 오타 제안(navre.com → naver.com), 메일을 받는 도메인인지(MX) DNS over HTTPS 로 확인

npm install @duolabs-deux/unit-email-addr

직접 넣어 보기

주소 확인

가짜 규칙: example.com 은 null MX, nomx.* 는 A 만, parked.* 는 127.0.0.1, timeout.* 는 시간 초과

글에서 뽑기

sales@example.co.kr, help@nomx.example.kr

어댑터

id종류설명
doh실제DNS over HTTPS(JSON). 키가 필요 없다. 공급자는 cloudflare(기본)·google 또는 JSON 형식을 받는 주소
fake가짜도메인 모양으로 결정적으로 답한다(nomx.·parked.·timeout. 등). README 의 규칙표

실패와 소비 앱이 할 일

종류언제할 일
invalid-input형식이 틀렸을 때. 메시지는 입력 칸 아래 그대로 보여도 되는 문장입력 칸에서 바로 알린다. DNS 에 묻지 않는다
timeoutDNS 공급자가 제때 답하지 않았을 때주소가 틀렸다는 뜻이 아니다. 「확인하지 못했다」로 보여 주고 보내기를 막지 않는다
upstream-down공급자에 닿지 못했거나 DNS 가 SERVFAIL·REFUSED 로 답했을 때timeout 과 같다. 다시 눌러 보게 한다
unexpected응답 모양을 해석하지 못했을 때공급자 명세가 바뀌었을 수 있다. 로그를 남긴다

한도

  • 사서함이 실제로 있는지는 확인하지 않는다. 답하는 것은 도메인이 메일을 받는지까지다
  • 형식은 실용 규칙이다. 따옴표 로컬 파트, IP 리터럴 도메인, @ 앞의 비 ASCII(SMTPUTF8)는 받지 않는다
  • 오타 제안은 흔한 개인 메일 도메인 기준이다. 회사 도메인의 오타는 잡지 못한다
  • DNS 공급자에게는 도메인만 간다(@ 앞은 보내지 않는다)

명세