|
@@ -73,7 +73,7 @@ if (!isset($autodiscover_config['sieve'])) {
|
|
|
}
|
|
|
|
|
|
// Init records array
|
|
|
-$spf_link = '<a href="http://www.openspf.org/SPF_Record_Syntax" target="_blank">SPF Record Syntax</a>';
|
|
|
+$spf_link = '<a href="http://www.openspf.org/SPF_Record_Syntax" target="_blank">SPF Record Syntax</a><br /><small>'.$lang['diagnostics']['allow'].' '.$ip.'<br />'.$lang['diagnostics']['allow'].' '.$ip6.'</small>';
|
|
|
$dmarc_link = '<a href="http://www.kitterman.com/dmarc/assistant.html" target="_blank">DMARC Assistant</a>';
|
|
|
|
|
|
$records = array();
|
|
@@ -348,9 +348,14 @@ foreach ($records as $record) {
|
|
|
$state = $current[$data_field[$current['type']]] . state_optional;
|
|
|
}
|
|
|
elseif ($current['type'] == 'TXT' &&
|
|
|
- stripos($current['txt'], 'v=spf' &&
|
|
|
- $record[2] == $spf_link) === 0) {
|
|
|
- $state = $current[$data_field[$current['type']]] . state_optional;
|
|
|
+ stripos($current['txt'], 'v=spf') === 0 &&
|
|
|
+ $record[2] == $spf_link) {
|
|
|
+ $state = state_nomatch;
|
|
|
+ $rslt = get_spf_allowed_hosts($record[0]);
|
|
|
+ if(in_array($ip, $rslt) && in_array($ip6, $rslt)){
|
|
|
+ $state = state_good;
|
|
|
+ }
|
|
|
+ $state .= '<br />' . $current[$data_field[$current['type']]].state_optional;
|
|
|
}
|
|
|
elseif ($current['type'] == 'TXT' &&
|
|
|
stripos($current['txt'], 'v=dkim') === 0 &&
|