|
@@ -1,5 +1,6 @@
|
|
|
<?php
|
|
<?php
|
|
|
use WHMCS\Database\Capsule;
|
|
use WHMCS\Database\Capsule;
|
|
|
|
|
+require "Net/DNS2.php";
|
|
|
// opcache_reset();
|
|
// opcache_reset();
|
|
|
|
|
|
|
|
function ZimbraEmail_ClientAreaCustomButtonArray ($params)
|
|
function ZimbraEmail_ClientAreaCustomButtonArray ($params)
|
|
@@ -44,7 +45,19 @@ function ZimbraEmailCheckMX($params)
|
|
|
unset($zoneID);
|
|
unset($zoneID);
|
|
|
unset($mxStatus);
|
|
unset($mxStatus);
|
|
|
$clientDomains = localAPI('GetClientsDomains', array('clientid' => $params['userid']));
|
|
$clientDomains = localAPI('GetClientsDomains', array('clientid' => $params['userid']));
|
|
|
- $domainMX = dns_get_record($params['domain'] , DNS_MX);
|
|
|
|
|
|
|
+ $nameserver = array(
|
|
|
|
|
+ '185.163.51.142',
|
|
|
|
|
+ '185.178.193.125');
|
|
|
|
|
+
|
|
|
|
|
+ $resolver = new Net_DNS2_Resolver(array('nameservers' => $nameserver));
|
|
|
|
|
+ try {
|
|
|
|
|
+ $result = $resolver->query('thurdesk.ch', 'MX');
|
|
|
|
|
+
|
|
|
|
|
+ } catch(Net_DNS2_Exception $e) {
|
|
|
|
|
+
|
|
|
|
|
+ echo "::query() failed: ", $e->getMessage(), "\n";
|
|
|
|
|
+ }
|
|
|
|
|
+ $domainMX = $result->answer;
|
|
|
if(count($domainMX) > 1) {
|
|
if(count($domainMX) > 1) {
|
|
|
for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
|
if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|
|
if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|
|
@@ -63,15 +76,15 @@ function ZimbraEmailCheckMX($params)
|
|
|
} else {
|
|
} else {
|
|
|
$domainMXrecord = array_shift($domainMX);
|
|
$domainMXrecord = array_shift($domainMX);
|
|
|
// if($domainMXrecord['target'] == $params['serverhostname']) {
|
|
// if($domainMXrecord['target'] == $params['serverhostname']) {
|
|
|
- if($domainMXrecord['target'] == 'mail1.thurdata.ch') {
|
|
|
|
|
|
|
+ if($domainMXrecord['exchange'] == 'mail1.thurdata.ch') {
|
|
|
return array('action' => 'show', 'mxtarget' => $domainMXrecord['target']);
|
|
return array('action' => 'show', 'mxtarget' => $domainMXrecord['target']);
|
|
|
}
|
|
}
|
|
|
for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
|
if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|
|
if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|
|
|
- return array('action' => 'change', 'mxtarget' => $domainMXrecord['target']);
|
|
|
|
|
|
|
+ return array('action' => 'change', 'mxtarget' => $domainMXrecord['exchange']);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- return array('action' => 'wrongMX', 'mxtarget' => $domainMXrecord['target']);
|
|
|
|
|
|
|
+ return array('action' => 'wrongMX', 'mxtarget' => $domainMXrecord['exchange']);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|