이메일 주소 검증기
단일 또는 여러 이메일 주소의 형식을 검증합니다.
이 도구 소개
이메일 주소 검증기는 이메일 주소가 올바른 형식 규칙을 따르는지 확인해야 하는 모든 사람에게 필수적인 도구입니다. 가입 양식 작성, 연락처 목록 정리 또는 이메일이 올바르게 구성되어 있는지 확인하는 경우 이 검증기는 표준 이메일 형식 규칙을 사용하여 주소가 구문적으로 유효한지 확인합니다. 이메일 검증은 오타를 방지하고 통신 시도가 잘못된 형식으로 인해 메일 서버에 의해 자동으로 거부되지 않도록 합니다.
이 도구의 사용 방법은 간단합니다. 단일 이메일 주소 또는 여러 주소(줄당 하나 또는 쉼표로 구분)를 입력 필드에 붙여넣고 검증을 클릭합니다. 도구는 각 주소를 RFC 5322 표준 및 일반적인 이메일 형식 규칙에 대해 확인하고 어떤 주소가 유효하고 어떤 주소가 오류를 포함하는지 보고합니다. 일반적인 사용 사례에는 뉴스레터 전송 전 고객 이메일 목록 검증, 등록 양식의 사용자 입력 검증, 시스템 통합 전 연락처 데이터베이스의 형식 문제 확인이 포함됩니다.
이 검증기는 데이터 관리자, 애플리케이션에 이메일 검증을 통합하는 개발자, 이메일 목록을 유지 관리하는 비즈니스에 특히 유용합니다. 이 도구는 이메일 주소의 형식만 확인하며 주소가 실제로 존재하거나 현재 활성 상태인지는 확인하지 않음을 유의하십시오. 포괄적인 이메일 검증을 위해 본 프로덕션 환경에서 확인 이메일 또는 SMTP 확인과 함께 사용해야 할 수도 있습니다.
자주 묻는 질문
코드 구현
import re
import dns.resolver # pip install dnspython
def validate_email_format(email: str) -> bool:
"""Validate email format using RFC 5321/5322 rules."""
pattern = r'^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$'
if not re.match(pattern, email):
return False
local, domain = email.rsplit('@', 1)
if len(email) > 254 or len(local) > 64:
return False
if '..' in email or email.startswith('.') or email.endswith('.'):
return False
return True
def check_mx_record(domain: str) -> bool:
"""Check if domain has MX records (can receive email)."""
try:
answers = dns.resolver.resolve(domain, 'MX')
return len(answers) > 0
except Exception:
return False
def validate_email(email: str, check_mx: bool = False) -> dict:
result = {
"email": email,
"format_valid": validate_email_format(email),
"mx_valid": None,
}
if result["format_valid"] and check_mx:
domain = email.split('@')[1]
result["mx_valid"] = check_mx_record(domain)
return result
# Usage
emails = ["user@example.com", "invalid@", "test..user@domain.com"]
for email in emails:
print(validate_email(email))Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.