Total Complexity | 11 |
Total Lines | 45 |
Duplicated Lines | 0 % |
Coverage | 78.95% |
Changes | 2 | ||
Bugs | 0 | Features | 1 |
1 | <?php |
||
5 | class DnsHelper |
||
6 | { |
||
7 | /** |
||
8 | * @param string $hostname hostname without dot at end |
||
9 | * @link https://bugs.php.net/bug.php?id=78008 |
||
10 | */ |
||
11 | 2 | public static function checkMx(string $hostname): bool |
|
24 | } |
||
25 | |||
26 | /** |
||
27 | * @param string $hostname |
||
28 | * @link https://bugs.php.net/bug.php?id=78008 |
||
29 | */ |
||
30 | 2 | public static function checkA(string $hostname): bool |
|
31 | { |
||
32 | try { |
||
33 | 2 | if (!@dns_check_record($hostname, 'A')) { |
|
34 | 2 | return false; |
|
35 | } |
||
36 | 1 | $result = @dns_get_record($hostname, DNS_A); |
|
37 | 1 | return $result !== false && count($result) > 0; |
|
38 | } catch (\Throwable $t) { |
||
39 | // eg. name servers are not found https://github.com/yiisoft/yii2/issues/17602 |
||
40 | } |
||
41 | return false; |
||
42 | } |
||
43 | |||
44 | 1 | public static function checkForEmail(string $hostnameOrEmail): bool |
|
50 | } |
||
51 | } |
||
52 |