찾다
php教程PHP源码PHP는 이메일 주소가 존재하는지 정확하게 확인합니다.

배경

PHP에서 이메일 주소를 확인하는 방법에는 여러 가지가 있습니다. 가장 일반적인 방법은 정규식을 직접 작성하는 것입니다. 그러나 정규식에는 자체적인 확인 방법이 있습니다.

filter_var

filter_var는 PHP에 내장된 변수 필터링 방법으로 다양한 실용적인 필터를 제공하며 정수, 부동 소수점 숫자, 이메일 주소, URL, MAC 주소 등을 확인하는 데 사용할 수 있습니다.

특정 필터 참조:filters.validate

filter_var가 false를 반환하면 변수가 필터를 통과할 수 없다는 의미이므로 불법입니다.




$email = "lastchiliarch@163.com";
 
var_dump(filter_var($email,  FILTER_VALIDATE_EMAIL));
 
 
$email = "asb";
var_dump(filter_var($email,  FILTER_VALIDATE_EMAIL));
 
$email = "1@a.com";
var_dump(filter_var($email,  FILTER_VALIDATE_EMAIL));

출력:

string(21) "lastchiliarch @163.com"

bool(false)

string(7) "1@a.com"

asb와 같은 불법 메일함의 경우 형식이 false를 반환했지만 1@a.com의 경우 통과했지만 여전히 약간의 결함이 있었습니다.

그러나 일반 규칙을 통과하면 1@a.com이 합법적인 이메일 주소로 간주됩니다. 그렇다면 이를 더 정확하게 확인할 수 있는 방법이 없을까요?

checkdnsrr

checkdnsrr은 실제로 지정된 호스트의 DNS 레코드를 쿼리하는 데 사용되며 사서함이 존재하는지 확인할 수 있습니다.

1@a.com의 경우 MX 레코드가 절대 존재하지 않습니다.

   
$email = "lastchiliarch@163.com";
    var_dump(checkdnsrr(array_pop(explode("@",$email)),"MX"));
    $email = "1@a.com";
    var_dump(checkdnsrr(array_pop(explode("@",$email)),"MX"));

출력:

bool(true)

bool(false)

보시다시피 완벽합니다. 유일한 단점은 결국 네트워크 요청입니다. 따라서 이 방법을 사용하여 동시에 많은 수의 사서함을 확인하는 것은 적합하지 않습니다.

filter_var+checkdnsrr

확인을 위해 filter_var와 checkdnsrr을 결합할 수 있습니다. 대부분의 불법 메일함은 filter_var을 사용하면 확실히 실패하고 나머지는 다시 사용할 수 있습니다.

추가 판단을 위해 dnsrr을 확인하세요.

$email_arr = array("lastchiliarch@163.com", "1@a.com");
    foreach($email_arr as $email) {
        if (filter_var($email) === false) {
            echo "invalid email: $email \n";
            continue;
        }
 
        if(checkdnsrr(array_pop(explode("@",$email)),"MX") === false) {
            echo "invalid email: $email \n";
            continue;
        }
    }

출력: 잘못된 이메일: 1@a.com

그러나 MX 레코드만 확인하기 때문에 163.com이 존재한다는 것만 확인할 수 있지만 사용자 lastchiliarch가 존재한다는 것을 증명할 수는 없다는 점에 유의해야 합니다.

더 정확하게 메일함의 존재를 확인하고 싶다면 SMTP 서버에 접속해서만 확인하면 됩니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경