diff --git a/lib/functions/dns/function.createDomainZone.php b/lib/functions/dns/function.createDomainZone.php index 8cc19167..7bff185e 100644 --- a/lib/functions/dns/function.createDomainZone.php +++ b/lib/functions/dns/function.createDomainZone.php @@ -232,53 +232,54 @@ function createDomainZone($domain_id, $froxlorhostname = false, $isMainButSubTo if (Settings::Get('dkim.use_dkim') == '1') { $dkim_entries = generateDkimEntries($domain); } - #DKIM AND DMARC - $zonerecords[] = new DnsEntry('mx._domainkey', 'TXT', '("v=DKIM1; k=rsa;" - "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyk6+Y5RkqqGeTxWmULWE" - "6Z+6SA9M/ccJW9cVhjKLbrGOc3/i0lTvIY1KqNGxvcqZEFyVJJsXL6dnWIcmYY01" - "GIeVL0nAxjLenW3NKFn+bpTmIiHYEegti4R5Il5NRm8o9g41pYqf3yVfqHKr8zNj" - "LnnxBySTX2HpBgTtIZmK13IIbdeeE02aJi5g9AjxpkDak6iv8/kIOVaIgvFKSrSJ" - "E6XZs2ap+RxYLxhDegIwevEFIUUqKYKxwFBx1ELRbvRkxZknH3PdWE9IJqGRxi02" - "gvGhqjXP3JykumRBC47OHeufAeNsx5xy6tsetTq1rOPvMOCeBq1hQWKNUowTMP+/" - "CQIDAQAB" + if ($domain['isemaildomain'] === '1') { + #DKIM AND DMARC + $zonerecords[] = new DnsEntry('mx._domainkey', 'TXT', '("v=DKIM1; k=rsa;" + "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyk6+Y5RkqqGeTxWmULWE" + "6Z+6SA9M/ccJW9cVhjKLbrGOc3/i0lTvIY1KqNGxvcqZEFyVJJsXL6dnWIcmYY01" + "GIeVL0nAxjLenW3NKFn+bpTmIiHYEegti4R5Il5NRm8o9g41pYqf3yVfqHKr8zNj" + "LnnxBySTX2HpBgTtIZmK13IIbdeeE02aJi5g9AjxpkDak6iv8/kIOVaIgvFKSrSJ" + "E6XZs2ap+RxYLxhDegIwevEFIUUqKYKxwFBx1ELRbvRkxZknH3PdWE9IJqGRxi02" + "gvGhqjXP3JykumRBC47OHeufAeNsx5xy6tsetTq1rOPvMOCeBq1hQWKNUowTMP+/" + "CQIDAQAB" )'); - $zonerecords[] = new DnsEntry('_dmarc', 'TXT', encloseTXTContent('v=DMARC1; p=reject; rua=mailto:nyvpxtul@ag.dmarcian-eu.com; fo=1; adkim=r; aspf=r; pct=100; rf=afrf; ri=86400;')); - + $zonerecords[] = new DnsEntry('_dmarc', 'TXT', encloseTXTContent('v=DMARC1; p=reject; rua=mailto:nyvpxtul@ag.dmarcian-eu.com; fo=1; adkim=r; aspf=r; pct=100; rf=afrf; ri=86400;')); + } foreach ($required_entries as $type => $records) { - if ($type == 'TXT') { - foreach ($records as $record) { - if ($record == '@SPF@') { - $txt_content = Settings::Get('spf.spf_entry'); - $zonerecords[] = new DnsEntry('@', 'TXT', encloseTXTContent($txt_content)); - } elseif ($record == 'dkim_' . $domain['dkim_id'] . '._domainkey' && ! empty($dkim_entries)) { - // check for multiline entry - $multiline = false; - if (substr($dkim_entries[0], 0, 1) == '(') { - $multiline = true; - } - $zonerecords[] = new DnsEntry($record, 'TXT', encloseTXTContent($dkim_entries[0], $multiline)); - } elseif ($record == '_adsp._domainkey' && ! empty($dkim_entries) && isset($dkim_entries[1])) { - $zonerecords[] = new DnsEntry($record, 'TXT', encloseTXTContent($dkim_entries[1])); - } + if ($type == 'TXT') { + foreach ($records as $record) { + if ($record == '@SPF@') { + $txt_content = Settings::Get('spf.spf_entry'); + $zonerecords[] = new DnsEntry('@', 'TXT', encloseTXTContent($txt_content)); + } elseif ($record == 'dkim_' . $domain['dkim_id'] . '._domainkey' && ! empty($dkim_entries)) { + // check for multiline entry + $multiline = false; + if (substr($dkim_entries[0], 0, 1) == '(') { + $multiline = true; } + $zonerecords[] = new DnsEntry($record, 'TXT', encloseTXTContent($dkim_entries[0], $multiline)); + } elseif ($record == '_adsp._domainkey' && ! empty($dkim_entries) && isset($dkim_entries[1])) { + $zonerecords[] = new DnsEntry($record, 'TXT', encloseTXTContent($dkim_entries[1])); + } } + } } } } if (empty($primary_ns)) { - // TODO log error: no NS given, use system-hostname - $primary_ns = Settings::Get('system.hostname'); + // TODO log error: no NS given, use system-hostname + $primary_ns = Settings::Get('system.hostname'); } if (! $isMainButSubTo) { - $date = date('Ymd'); - $domain['bindserial'] = (preg_match('/^' . $date . '/', $domain['bindserial']) ? - $domain['bindserial'] + 1 : - $date . '00'); - if (!$froxlorhostname) { - $upd_stmt = Database::prepare(" + $date = date('Ymd'); + $domain['bindserial'] = (preg_match('/^' . $date . '/', $domain['bindserial']) ? + $domain['bindserial'] + 1 : + $date . '00'); + if (!$froxlorhostname) { + $upd_stmt = Database::prepare(" UPDATE `" . TABLE_PANEL_DOMAINS . "` SET `bindserial` = :serial WHERE `id` = :id