diff --git a/EmailValidator/Validation/Error/SpoofEmail.php b/EmailValidator/Validation/Error/SpoofEmail.php new file mode 100644 index 0000000..8c92cb5 --- /dev/null +++ b/EmailValidator/Validation/Error/SpoofEmail.php @@ -0,0 +1,11 @@ +setChecks(Spoofchecker::SINGLE_SCRIPT); + + if ($checker->isSuspicious($email)) { + $this->error = new SpoofEmail(); + return false; + } + + return true; + } + + public function getError() + { + return $this->error; + } + + public function getWarnings() + { + return []; + } +} diff --git a/Tests/EmailValidator/Validation/SpoofCheckValidationTest.php b/Tests/EmailValidator/Validation/SpoofCheckValidationTest.php new file mode 100644 index 0000000..aaacc4d --- /dev/null +++ b/Tests/EmailValidator/Validation/SpoofCheckValidationTest.php @@ -0,0 +1,40 @@ +assertTrue($validation->isValid($email, new EmailLexer())); + } + + public function testEmailWithSpoofsIsInvalid() + { + $validation = new SpoofCheckValidation(); + + $this->assertFalse($validation->isValid("Кириллица"."latin漢字"."ひらがな"."カタカナ", new EmailLexer())); + } + + public function validUTF8EmailsProvider() + { + return [ + // Cyrillic + ['Кириллица@Кириллица'], + // Latin + Han + Hiragana + Katakana + ["latin漢字"."ひらがな"."カタカナ"."@example.com"], + // Latin + Han + Hangul + ["latin"."漢字"."조선말"."@example.com"], + // Latin + Han + Bopomofo + ["latin"."漢字"."ㄅㄆㄇㄈ"."@example.com"] + ]; + } +}