not generating disabled zones
This commit is contained in:
@@ -215,7 +215,7 @@ abstract class DnsBase
|
||||
`" . TABLE_PANEL_DOMAINS . "` `d`
|
||||
LEFT JOIN `" . TABLE_PANEL_CUSTOMERS . "` `c` USING(`customerid`)
|
||||
WHERE
|
||||
`d`.`isbinddomain` = '1'
|
||||
`d`.`isbinddomain` = '1' aND `d`.`deactivated` = '0'
|
||||
ORDER BY
|
||||
`d`.`domain` ASC
|
||||
");
|
||||
|
||||
@@ -184,6 +184,8 @@ class Dns
|
||||
// check for DKIM content later
|
||||
//self::addRequiredEntry('dkim' . $domain['dkim_id'] . '._domainkey.' . $sub_record, 'TXT', $required_entries);
|
||||
self::addRequiredEntry('mx._domainkey.' . $sub_record, 'TXT', $required_entries);
|
||||
//Also add dmarc
|
||||
self::addRequiredEntry('_dmarc' . $sub_record, 'TXT', $required_entries);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -222,6 +224,8 @@ class Dns
|
||||
// check for DKIM content later
|
||||
//self::addRequiredEntry('dkim' . $domain['dkim_id'] . '._domainkey', 'TXT', $required_entries);
|
||||
self::addRequiredEntry('mx._domainkey', 'TXT', $required_entries);
|
||||
//Also add dmarc
|
||||
self::addRequiredEntry('_dmarc', 'TXT', $required_entries);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -379,10 +383,13 @@ class Dns
|
||||
if (array_key_exists("TXT", $required_entries)) {
|
||||
if (Settings::Get('dkim.use_dkim') == '1') {
|
||||
$dkim_entries = self::generateDkimEntries($domain);
|
||||
$dmarc_entries = self::generateDmarcEntries($domain);
|
||||
}
|
||||
|
||||
foreach ($required_entries as $type => $records) {
|
||||
if ($type == 'TXT') {
|
||||
//$dkim_record = 'dkim' . $domain['dkim_id'] . '._domainkey';
|
||||
$dkim_record = 'mx._domainkey';
|
||||
foreach ($records as $record) {
|
||||
if ($record == '@SPF@') {
|
||||
// spf for main-domain
|
||||
@@ -393,10 +400,8 @@ class Dns
|
||||
$txt_content = Settings::Get('spf.spf_entry');
|
||||
$sub_record = substr($record, 6);
|
||||
$zonerecords[] = new DnsEntry($sub_record, 'TXT', self::encloseTXTContent($txt_content));
|
||||
} elseif (!empty($dkim_entries)) {
|
||||
} elseif (!empty($dkim_entries) && $record == $dkim_record ) {
|
||||
// DKIM entries
|
||||
//$dkim_record = 'dkim' . $domain['dkim_id'] . '._domainkey';
|
||||
$dkim_record = 'mx._domainkey';
|
||||
if ($record == $dkim_record) {
|
||||
// dkim for main-domain
|
||||
// check for multiline entry
|
||||
@@ -414,7 +419,10 @@ class Dns
|
||||
}
|
||||
$zonerecords[] = new DnsEntry($record, 'TXT', self::encloseTXTContent($dkim_entries[0], $multiline));
|
||||
}
|
||||
} elseif ($record == '_dmarc' && !empty($dmarc_entries) && $domain['isemaildomain'] == '1') {
|
||||
$zonerecords[] = new DnsEntry($record, 'TXT', self::encloseTXTContent($dmarc_entries[0]));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -582,7 +590,15 @@ class Dns
|
||||
}
|
||||
return $zone_dkim;
|
||||
}
|
||||
|
||||
private static function generateDmarcEntries(array $domain): array
|
||||
{
|
||||
$zone_dmarc = [];
|
||||
if (Settings::Get('dkim.use_dkim') == '1' && $domain['dkim'] == '1' ){
|
||||
$dmarc_txt = 'v=DMARC1; p=quarantine; ruf=mailto:dmarc@'. $domain['domain'] . '; rua=mailto:dmarc@'. $domain['domain'] . '; fo=1; adkim=r; aspf=r; pct=100; rf=afrf; ri=345600;';
|
||||
$zone_dmarc[] = $dmarc_txt;
|
||||
}
|
||||
return $zone_dmarc;
|
||||
}
|
||||
/**
|
||||
* @param string $txt_content
|
||||
* @param bool $isMultiLine
|
||||
|
||||
Reference in New Issue
Block a user