PHP

이메일 존재여부 확인


이메일 존재여부 확인


  2021-09-20  395 View 공개

 이메일 존재여부 체크 PHP 함수

주어진 PHP 함수 domain_exists는 특정 이메일 도메인에 MX (메일 교환) 레코드가 있는지 확인합니다. MX 레코드는 DNS (도메인 이름 시스템)에서 이메일을 라우팅하는 데 사용됩니다. 이메일 도메인에 MX 레코드가 있으면, 해당 도메인이 이메일을 받을 수 있다는 좋은 징후입니다.
PHP
function  domain_exists ( $email ,  $record  =  'MX' ) {
     list ( $user ,  $domain )  =  split ( '@' ,  $email ) ;
     return  checkdnsrr ( $domain ,  $record ) ;
}
 
if(domain_exists('test@gmail.com')) {
     echo('This MX records exists; I will accept this email as valid.');
}
else {
     echo('No MX record exists;  Invalid email.');
}
?>

domain_exists 함수

  ◼︎  파라미터:
$email : 확인하려는 이메일 주소.
$record : 확인하려는 DNS 레코드 유형. 기본적으로 'MX' (메일 교환)로 설정됩니다.

  ◼︎  기능
함수는 split 함수를 사용하여 이메일 주소를 사용자 부분과 도메인 부분으로 분리합니다. 예를 들어 'test@gmail.com'의 경우 'test'와 'gmail.com'을 분리합니다.
checkdnsrr 함수는 그 다음 해당 도메인의 DNS 레코드를 지정된 레코드 유형 ('MX'가 기본)에 대해 확인합니다.
해당 도메인에 지정된 DNS 레코드가 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

조건문 확인

함수는 'test@gmail.com'에 MX 레코드가 있는지 확인하기 위한 if 문에서 사용됩니다.
도메인에 MX 레코드가 있으면 해당 이메일이 유효하다는 메시지를 출력합니다.
MX 레코드가 없으면 이메일이 유효하지 않다는 메시지를 출력합니다.

참고

split 함수는 PHP 5.3.0에서 사용 중지되었으며 PHP 7에서 제거되었습니다. 대신 explode 함수를 사용하는 것이 좋습니다.
MX 레코드의 존재를 확인하는 것은 좋은 초기 확인 방법이지만, 주어진 사용자 이름(예: 'test@gmail.com'의 'test')에 대한 메일박스가 실제로 존재하는지는 보장하지 않습니다. 그것을 확인하려면 일반적으로 이메일을 보내 보고 반송되는지 확인하거나 사용자가 검증 과정을 통해 확인해야 합니다.





🚩 PHP 글 모음 (총 56 건)

[PHP] 공공데이타포탈 XML 자료 파싱하기

Last Updated : 2023-09-30
#XML파싱 #공공데이타포탈

이메일 존재여부 확인

Last Updated : 2023-09-29

[PHP] 30분뒤 자동 로그아웃

Last Updated : 2023-09-29

[PHP] 타임존을 한국시간으로 설정하는 방법

Last Updated : 2023-09-29
#PHP #TIMEZONE

[PHP] 동시에 한 PC 에서만 로그인을 제한하는 방법

Last Updated : 2023-09-29
#php

[PHP] mb_substr 로 한글 문자열을 깨지지 않고 안전하게 분리하기

Last Updated : 2023-09-29
#PHP #mb_substr #한글문자열자르기