私は自分自身にメールを送信するので、この電子メールアドレスが動作することを知っています。では、なぜこのコードは私がそれをするべきだとは思わないのでしょうか?PHPのFILTER_VALIDATE_EMAILが私の働く電子メールアドレスが無効であると言っているのはなぜですか?
$email = 'enquiry_b[email protected]uat.abc.com';
if (filter_var($email, FILTER_VALIDATE_EMAIL))
{
print 'is valid';
}
else
{
print 'is not valid';
}
"is not valid"と表示されます。しかし、私はかなり電子メールアドレスが正しいと確信しています。それはおそらく長すぎると彼らはいくつかの特定の長さをチェック?電子メールアドレスを最後に確認したときの長さは最大255文字です。
これはなぜ起こっているのですか?
UPDATE 1
私はこれにそれを短絡した場合:
$email = 'e[email protected]uat.abc.com';
そして、それが動作します。だから私はここで答えを見つけ
電子メールアドレスは、電子メールを実際に送信し、ユーザーがその中のリンクをクリックするか、または別の方法で受信を確認するのとは別に、検証することは事実上不可能です。 – Sammitch
[バリデーターは間違っていません](https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address)そのアドレスは、許可された長さの制限: "...メールボックスは、パスを256未満に保つために254文字以下でなければなりません"。 – tadman
私はここで答えを見つけました:https://stackoverflow.com/questions/21631366/php-filter-validate-email-max-length ...電子メールアドレスの「ローカル」部分は64文字です。 – coderama