ユーザが入力したメアドの検証をするために、アットマーク以降のドメイン部分を検証する。
<?php
/**
* Validate the mail address
*
* @author Yuki Matsukura
* @version $Id: a2b2c6ff3d160a4c91fb39a45c2a32af27867684 $
*/
class MailAddressValidator
{
/**
* Validate the mailaddress MX record.
* - Call this method after validating e-mail regex check.
* - throws exception if the error is occured
*
* @param string $mail_address
* @author Yuki Matsukura
*/
public static function validateMX($mail_address)
{
if(preg_match('/@(.*)$/', $mail_address, $matches)){
$domain = $matches[1];
if(checkdnsrr($domain, 'MX') === true){
return;
}
throw new Exception(sprintf('メールアドレスの@以降が間違っている可能性があります。(%s)', $mail_address));
}
}
}



Comments