기술 · 출처 기반 답변

이메일을 보내지 않고 이메일 주소를 확인하는 방법

구문 유효성 검사, DNS 레코드 조회, SMTP 프로토콜 핸드셰이크를 순서대로 수행하면 이메일을 보내지 않고도 이메일 주소를 확인할 수 있습니다. 이 과정은 실제로 메시지를 전달하지 않고 이메일 형식이 올바른지, 그리고 수신 서버가 해당 도메인의 메일을 받도록 구성되어 있는지 점검합니다.

구문 유효성 검사

첫 번째 단계는 이메일 문자열을 RFC 5322 표준에 따라 검사하는 것입니다. 이를 통해 주소에 로컬 파트, @ 기호, 유효한 도메인 부분이 있는지 확인합니다. 네트워크 요청을 보내기 전에 흔한 오타, 허용되지 않는 문자, 잘못된 형식을 걸러내기 위해 보통 정규식을 사용합니다.

DNS 레코드 확인

구문이 확인되면 도메인에 유효한 MX(Mail Exchanger) 레코드가 있는지 확인해야 합니다. 도메인에 대한 DNS 쿼리는 MX 레코드를 하나 이상 반환해야 합니다. MX 레코드가 없으면 해당 도메인은 이메일을 받을 수 없습니다. SendHQ 무료 도구 같은 도구로 DNS 구성을 확인하고 도메인이 활성 상태인지 점검할 수 있습니다.

SMTP 핸드셰이크 과정

검증의 기술적 방법은 MX 서버에 SMTP 연결을 시작하는 것입니다. 클라이언트는 HELO 명령을 보낸 다음 MAIL FROM과 RCPT TO를 보냅니다. 서버가 RCPT TO 명령에 250 OK로 응답하면 서버 입장에서 해당 주소는 유효한 것으로 간주됩니다. 그 후 DATA 명령을 보내기 전에 QUIT 명령으로 연결을 종료합니다.

서버 제한 다루기

많은 최신 메일 서버는 이러한 확인을 막기 위해 캐치올 구성이나 그레이리스팅을 사용합니다. 캐치올 서버는 로컬 파트와 관계없이 해당 도메인의 모든 메일을 수락합니다. 그레이리스팅은 첫 번째 시도를 일시적으로 거부하고 발신자가 나중에 다시 시도하도록 요구하므로 실시간 확인 스크립트를 복잡하게 만들 수 있습니다.

구현 시 고려 사항

이러한 검사를 구현할 때는 발신 IP의 평판이 깨끗하고 역방향 DNS가 올바르게 설정되어 있는지 확인하세요. 메일을 보내지 않고 SMTP 핸드셰이크를 자주 수행하면 수신 서버가 의심스러운 행동으로 판단해, IP가 차단되거나 보안 필터에 의해 제한될 수 있습니다.

팀에서 자주 묻는 질문

SMTP 확인으로 전달이 보장되나요?

아니요. 서버가 RCPT TO 명령을 수락했다는 것만 확인합니다. 메시지가 스팸 필터를 피해 받은편지함에 도달한다는 것을 보장하지는 않습니다.

캐치올 이메일 주소란 무엇인가요?

캐치올은 해당 도메인으로 보낸 모든 이메일을 수락하는 서버 구성으로, 특정 로컬 파트가 존재하지 않더라도 수락합니다.

이를 위해 일반 API를 사용할 수 있나요?

네. 많은 이메일 유효성 검사 서비스가 구문, DNS, SMTP 핸드셰이크 과정을 REST API로 자동화해 제공합니다.

일부 서버가 SMTP 확인을 거부하는 이유는 무엇인가요?

봇이 주소를 추측해 유효한 사용자를 찾아내는 디렉터리 수집 공격을 막기 위해 서버가 이러한 확인을 거부할 수 있습니다.

1차 출처