メールアドレスのドメイン部分をチェック

PHP
email メールアドレスのドメイン部分をチェック


ユーザが入力したメアドの検証をするために、アットマーク以降のドメイン部分を検証する。

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

コメント