프로그래밍/PHP

[PHP] 메일 도메인 존재 여부 검사 (checkdnsrr 함수)

떨어지는 용 2017. 12. 6. 16:19

▶PHP 메일 도메인 존재 여부 검사 (checkdnsrr 함수)




▶설명


PHP 함수 중 하나인 checkdnsrr 함수는 IP 주소에 대응하는 DNS 레코드를 확인하는데 사용하는 함수입니다.

레코드가 발견되면 true, 발견되지 않으면 false를 반환합니다.


▶사용법


강조 처리된 부분만 필수 입력 사항입니다.


checkdnsrr( 호스트 , 종류 = 'MX')

▶레코드 종류


 레코드

 상세 설명

 NS

 도메인의 네임서버 정보 

 MX

 도메인의 MX(Mail Exchanger) 서버

 A

 호스트의 IP주소

 CNAME

 별칭으로 부여된 canonical name

 SOA

 도메인의 start-of-authority정보

 HINFO

 호스트의 CPU 정보와 운영체제 정보

 MINFO

 메일박스와 메일 리스트 정보

 PTR

 IP주소에 대한 호스트명 

 TXT

 호스트에 대한 텍스트 정보

UNIFO

 사용자 정보

 ANY

 호스트에 관련된 모든 레크드들의 정보

출처: http://88240.tistory.com/71


▶예제


회원가입을 만들때 이메일로 가입을 많이 사용하는 편입니다.

이메일을 입력했을 때, 최소한에 확인으로 존재하는 메일 도메인 검사할 때 유용합니다.

<?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.');
}
?>