|
|
@@ -20,17 +20,14 @@ function KerioEmail_ClientAreaCustomButtonArray ($params)
|
|
|
|
|
|
function KerioEmail_DNS($params)
|
|
|
{
|
|
|
- $status = KerioEmailCheckDNS($params);
|
|
|
+ $vars = KerioEmailCheckDNS($params);
|
|
|
+ $vars['domain'] = $params['domain'];
|
|
|
return array(
|
|
|
'breadcrumb' => array(
|
|
|
- 'clientarea.php?action=productdetails&id=' . $params['serviceid'] . '&modop=custom&a=infoMX' => 'MX Info',
|
|
|
+ 'clientarea.php?action=productdetails&id=' . $params['serviceid'] . '&modop=custom&a=DNS' => 'DNS Settings',
|
|
|
),
|
|
|
'templatefile' => 'kerioEmail_help_mx',
|
|
|
- 'vars' => array(
|
|
|
- 'maildomain' => $params['domain'],
|
|
|
- 'action' => $mxStatus['action'],
|
|
|
- 'mxtarget' => (isset($mxStatus['mxtarget']) ? $mxStatus['mxtarget'] : 'false'),
|
|
|
- ),
|
|
|
+ 'vars' => $vars,
|
|
|
);
|
|
|
}
|
|
|
|
|
|
@@ -39,6 +36,7 @@ function KerioEmailCheckDNS($params)
|
|
|
unset($zoneID);
|
|
|
unset($mxStatus);
|
|
|
unset($dnsData);
|
|
|
+ unset($vars);
|
|
|
$clientDomains = localAPI('GetClientsDomains', array('clientid' => $params['userid']));
|
|
|
$nameserver = array(
|
|
|
NS1,
|
|
|
@@ -69,99 +67,27 @@ function KerioEmailCheckDNS($params)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- logModuleCall(
|
|
|
- 'kerioEmail',
|
|
|
- __FUNCTION__,
|
|
|
- $domainMX,
|
|
|
- 'Debug SPF',
|
|
|
- $domainSPF
|
|
|
- );
|
|
|
-
|
|
|
-
|
|
|
+ $vars['spf'] = $domainSPF;
|
|
|
if(count($domainMX) > 1) {
|
|
|
- for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
|
- if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|
|
|
- return array('action' => 'manual', 'mxtarget' => $domainMX);
|
|
|
- }
|
|
|
- }
|
|
|
- return array('action' => 'manualext', 'mxtarget' => $domainMX);
|
|
|
- }
|
|
|
- if(empty($domainMX)){
|
|
|
- for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
|
- if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|
|
|
- return array('action' => 'set');
|
|
|
- }
|
|
|
- }
|
|
|
- return array('action' => 'noMX');
|
|
|
- } else {
|
|
|
- $domainMXrecord = array_shift($domainMX);
|
|
|
-// if($domainMXrecord['target'] == $params['serverhostname']) {
|
|
|
- if($domainMXrecord->exchange == MX) {
|
|
|
- return array('action' => 'show', 'mxtarget' => $domainMXrecord->exchange);
|
|
|
- }
|
|
|
- for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
|
- if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|
|
|
- return array('action' => 'change', 'mxtarget' => $domainMXrecord->exchange);
|
|
|
- }
|
|
|
- }
|
|
|
- return array('action' => 'wrongMX', 'mxtarget' => $domainMXrecord->exchange);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-function KerioEmailCheckSPF($params)
|
|
|
-{
|
|
|
- unset($zoneID);
|
|
|
- unset($spfStatus);
|
|
|
- $clientDomains = localAPI('GetClientsDomains', array('clientid' => $params['userid']));
|
|
|
- $nameserver = array(
|
|
|
- NS1,
|
|
|
- NS2);
|
|
|
-
|
|
|
- $resolver = new Net_DNS2_Resolver(array('nameservers' => $nameserver));
|
|
|
- try {
|
|
|
- $result = $resolver->query($params['domain'], 'TXT');
|
|
|
-
|
|
|
- } catch(Net_DNS2_Exception $e) {
|
|
|
-
|
|
|
- echo "::query() failed: ", $e->getMessage(), "\n";
|
|
|
+ $vars['multiMX'] = TRUE;
|
|
|
}
|
|
|
- $domainSPF = $result->answer;
|
|
|
-/* if(count($domainMX) > 1) {
|
|
|
- for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
|
- if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|
|
|
- return array('action' => 'manual', 'mxtarget' => $domainMX);
|
|
|
- }
|
|
|
+ $vars['selfMX'] = FALSE;
|
|
|
+ for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
|
+ if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|
|
|
+ $vars['selfMX'] = TRUE;
|
|
|
}
|
|
|
- return array('action' => 'manualext', 'mxtarget' => $domainMX);
|
|
|
}
|
|
|
if(empty($domainMX)){
|
|
|
- for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
|
- if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|
|
|
- return array('action' => 'set');
|
|
|
- }
|
|
|
- }
|
|
|
- return array('action' => 'noMX');
|
|
|
+ $vars['mx'] = 'notSet';
|
|
|
} else {
|
|
|
$domainMXrecord = array_shift($domainMX);
|
|
|
-// if($domainMXrecord['target'] == $params['serverhostname']) {
|
|
|
if($domainMXrecord->exchange == MX) {
|
|
|
- return array('action' => 'show', 'mxtarget' => $domainMXrecord->exchange);
|
|
|
+ $vars['mx'] = 'set';
|
|
|
+ } else {
|
|
|
+ $var['mx'] = 'wrong';
|
|
|
}
|
|
|
- for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
|
- if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|
|
|
- return array('action' => 'change', 'mxtarget' => $domainMXrecord->exchange);
|
|
|
- }
|
|
|
- }
|
|
|
- return array('action' => 'wrongMX', 'mxtarget' => $domainMXrecord->exchange);
|
|
|
- } */
|
|
|
- logModuleCall(
|
|
|
- 'kerioEmail',
|
|
|
- __FUNCTION__,
|
|
|
- $result,
|
|
|
- 'Debug SPF',
|
|
|
- $domainSPF
|
|
|
- );
|
|
|
-
|
|
|
+ }
|
|
|
+ return $vars;
|
|
|
}
|
|
|
|
|
|
function KerioEmail_setMX($params)
|