|
@@ -73,6 +73,9 @@ 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>';
|
|
|
+$dmarc_link = '<a href="http://www.kitterman.com/dmarc/assistant.html" target="_blank">DMARC Assistant</a>';
|
|
|
+
|
|
|
$records = array();
|
|
|
$records[] = array(
|
|
|
$mailcow_hostname,
|
|
@@ -164,13 +167,13 @@ $records[] = array(
|
|
|
$records[] = array(
|
|
|
$domain,
|
|
|
'TXT',
|
|
|
- '<a href="http://www.openspf.org/SPF_Record_Syntax" target="_blank">SPF Record Syntax</a>',
|
|
|
+ $spf_link,
|
|
|
state_optional
|
|
|
);
|
|
|
$records[] = array(
|
|
|
'_dmarc.' . $domain,
|
|
|
'TXT',
|
|
|
- '<a href="http://www.kitterman.com/dmarc/assistant.html" target="_blank">DMARC Assistant</a>',
|
|
|
+ $dmarc_link,
|
|
|
state_optional
|
|
|
);
|
|
|
|
|
@@ -337,16 +340,18 @@ foreach ($records as $record) {
|
|
|
foreach ($currents as &$current) {
|
|
|
if ($current['type'] == 'TXT' &&
|
|
|
stripos($current['txt'], 'v=dmarc') === 0 &&
|
|
|
- stripos($current['host'], '_dmarc') === 0) {
|
|
|
+ $record[2] == $dmarc_link) {
|
|
|
$current['txt'] = str_replace(' ', '', $current['txt']);
|
|
|
$state = $current[$data_field[$current['type']]] . state_optional;
|
|
|
}
|
|
|
elseif ($current['type'] == 'TXT' &&
|
|
|
- stripos($current['txt'], 'v=spf') === 0) {
|
|
|
+ stripos($current['txt'], 'v=spf' &&
|
|
|
+ $record[2] == $spf_link) === 0) {
|
|
|
$state = $current[$data_field[$current['type']]] . state_optional;
|
|
|
}
|
|
|
elseif ($current['type'] == 'TXT' &&
|
|
|
- stripos($current['txt'], 'v=dkim') === 0) {
|
|
|
+ stripos($current['txt'], 'v=dkim') === 0 &&
|
|
|
+ stripos($record[2], 'v=dkim') === 0) {
|
|
|
$current['txt'] = str_replace(' ', '', $current['txt']);
|
|
|
if ($current[$data_field[$current['type']]] == $record[2]) {
|
|
|
$state = state_good;
|