기술 · 출처 기반 답변
이메일 주소 유효성 검사란? 구문 검사와 DNS 확인
이메일 주소 유효성 검사는 이메일 주소가 구문상 올바르고 확립된 인터넷 표준을 따르는지 확인하는 과정입니다. 메시지를 보내기 전에 입력된 주소의 형식이 올바르고 대상 도메인이 메일을 받을 수 있도록 설정되어 있는지 확인합니다.
구문 검증
유효성 검사의 첫 단계는 문자열을 RFC 5322 표준에 맞춰 확인하는 것입니다. 주소에 로컬 파트, @ 기호, 도메인 파트가 있는지 확인합니다. 즉시 SMTP 실패를 일으킬 수 있는 허용되지 않는 문자, 잘못 놓인 점, 누락된 구성 요소를 찾아냅니다.
DNS 및 MX 레코드 확인
구문 검증 후 시스템은 DNS 조회로 도메인이 존재하는지 확인합니다. 구체적으로는 MX(Mail Exchanger) 레코드를 확인합니다. 도메인에 MX 레코드가 없거나 DNS 확인에 실패하면 이메일을 받을 수 없으며, 발송을 시도하면 하드 바운스가 발생합니다.
발신자 평판에 미치는 영향
유효하지 않은 주소로 발송하면 반송률이 높아지며, 이는 수신 ISP에 발신자가 품질이 낮은 목록을 사용하거나 스팸을 보내고 있다는 신호가 됩니다. 반송률이 높으면 IP가 블랙리스트에 등재되고 정상 메시지의 전달성도 떨어질 수 있습니다.
운영 구현
개발자는 보통 입력 시점에 정규식이나 전용 라이브러리로 유효성 검사를 구현합니다. 대량 목록의 경우 SendHQ 또는 무료 도구(https://sendhq.cc/tools)를 사용하면 잘못된 형식의 주소가 발송 파이프라인에 들어가기 전에 찾아낼 수 있습니다.
유효성 검사 예시
user@example..com 같은 주소는 점이 두 번 있어 구문 검사에 실패합니다. user@nonexistent-domain-12345.com 같은 주소는 구문 검사는 통과하지만 DNS MX 레코드 조회 단계에서 실패합니다.
팀에서 자주 묻는 질문
유효성 검사로 이메일이 활성 상태임을 보장할 수 있나요?
아니요. 유효성 검사는 형식이 올바르고 도메인이 메일용으로 설정되어 있다는 것만 확인하며, 특정 계정이 현재 활성 상태인지는 확인하지 않습니다.
유효성 검사(validation)와 인증(verification)은 무엇이 다른가요?
유효성 검사는 보통 구문과 DNS 검사를 가리키고, 인증(verification)은 주소가 실제로 도달 가능한지 확인하는 더 깊은 검사를 포함하는 경우가 많습니다.
구문 검사만으로는 왜 충분하지 않나요?
형식이 완벽한 이메일 주소라도 도메인이 존재하지 않거나 수신 SMTP 트래픽을 받도록 설정되어 있지 않으면 유효하지 않을 수 있습니다.
1차 출처
- RFC 5322: 인터넷 메시지 형식 — RFC Editor
- RFC 5321: 단순 메일 전송 프로토콜(SMTP) — RFC Editor