|
|
@@ -97,14 +97,15 @@ class DnsHelper
|
|
|
public function getResolverRecords($domain)
|
|
|
{
|
|
|
try {
|
|
|
- $domainMX = $this->resolver->query($domain, 'NX');
|
|
|
- $domainTXT = $this->resolver->query($domain, 'TXT');
|
|
|
+ $responseMX = $this->resolver->query($domain, 'NX');
|
|
|
+ $responseTXT = $this->resolver->query($domain, 'TXT');
|
|
|
|
|
|
} catch(\Net_DNS2_Exception $e) {
|
|
|
|
|
|
echo "::query() failed: ", $e->getMessage(), "\n";
|
|
|
}
|
|
|
- $domainTXT = $result->answer;
|
|
|
+ $domainMX = $responseMX->answer;
|
|
|
+ $domainTXT = $responseTXT->answer;
|
|
|
|
|
|
logModuleCall(
|
|
|
'kerioEmail',
|
|
|
@@ -114,6 +115,24 @@ class DnsHelper
|
|
|
$domainTXT
|
|
|
);
|
|
|
|
|
|
+ if(empty($domainMX)){
|
|
|
+ $vars['mx'] = 'unset';
|
|
|
+ $vars['mxtarget'] = $this->params['serverhostname'];
|
|
|
+ } else {
|
|
|
+ if(count($domainMX) > 1) {
|
|
|
+ $vars['multiMX'] = TRUE;
|
|
|
+ } else {
|
|
|
+ $vars['multiMX'] = FALSE;
|
|
|
+ }
|
|
|
+ $vars['domainMX'] = $domainMX;
|
|
|
+ $domainMXrecord = array_shift($domainMX);
|
|
|
+ $vars['mxtarget'] = $domainMXrecord->exchange;
|
|
|
+ if($domainMXrecord->exchange == $this->params['serverhostname']) {
|
|
|
+ $vars['mx'] = 'set';
|
|
|
+ } else {
|
|
|
+ $var['mx'] = 'wrong';
|
|
|
+ }
|
|
|
+ }
|
|
|
$domainSPF = array();
|
|
|
$domainDMARC = array();
|
|
|
$domainDKIM = array();
|