zend-blog-3-backend

Форк
0
/
VerifyEmail.php 
40 строк · 796.0 Байт
1
<?php
2

3
namespace App\Utils;
4

5
/**
6
 * Only check MX records
7
 */
8
class VerifyEmail
9
{
10
    private static $domains = [];
11

12
    public static function isValid(string $email): bool
13
    {
14
        $domain = self::getDomain($email);
15
        if (isset(self::$domains[$domain])) {
16
            return self::$domains[$domain];
17
        }
18

19
        $mxHosts = [];
20
        getmxrr($domain, $mxHosts);
21

22
        $isValid = !empty($mxHosts);
23
        self::$domains[$domain] = $isValid;
24

25
        return $isValid;
26
    }
27

28
    public static function normalize(string $email): string
29
    {
30
        return strtolower(trim($email));
31
    }
32

33
    private static function getDomain(string $email)
34
    {
35
        $email_arr = explode('@', $email);
36
        $domain = array_slice($email_arr, -1);
37

38
        return $domain[0];
39
    }
40
}
41

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.