|
|
@@ -20,7 +20,7 @@ function KerioEmail_ClientAreaCustomButtonArray ($params)
|
|
|
|
|
|
function KerioEmail_DNS($params)
|
|
|
{
|
|
|
- $mxStatus = KerioEmailCheckMX($params);
|
|
|
+ $status = KerioEmailCheckDNS($params);
|
|
|
return array(
|
|
|
'breadcrumb' => array(
|
|
|
'clientarea.php?action=productdetails&id=' . $params['serviceid'] . '&modop=custom&a=infoMX' => 'MX Info',
|
|
|
@@ -34,10 +34,11 @@ function KerioEmail_DNS($params)
|
|
|
);
|
|
|
}
|
|
|
|
|
|
-function KerioEmailCheckMX($params)
|
|
|
+function KerioEmailCheckDNS($params)
|
|
|
{
|
|
|
unset($zoneID);
|
|
|
unset($mxStatus);
|
|
|
+ unset($dnsData);
|
|
|
$clientDomains = localAPI('GetClientsDomains', array('clientid' => $params['userid']));
|
|
|
$nameserver = array(
|
|
|
NS1,
|
|
|
@@ -52,6 +53,31 @@ function KerioEmailCheckMX($params)
|
|
|
echo "::query() failed: ", $e->getMessage(), "\n";
|
|
|
}
|
|
|
$domainMX = $result->answer;
|
|
|
+ try {
|
|
|
+ $result = $resolver->query($params['domain'], 'TXT');
|
|
|
+
|
|
|
+ } catch(Net_DNS2_Exception $e) {
|
|
|
+
|
|
|
+ echo "::query() failed: ", $e->getMessage(), "\n";
|
|
|
+ }
|
|
|
+ $domainTXT = $result->answer;
|
|
|
+ $domainSPF = array();
|
|
|
+ foreach($domainTXT as $txtRecord) {
|
|
|
+ foreach($txtRecord['text'] as $txtData) {
|
|
|
+ if(strstr($txtData,'v=spf')) {
|
|
|
+ array_push($domainSPF,$txtData);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ logModuleCall(
|
|
|
+ 'kerioEmail',
|
|
|
+ __FUNCTION__,
|
|
|
+ $domainMX,
|
|
|
+ 'Debug SPF',
|
|
|
+ $domainSPF
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
if(count($domainMX) > 1) {
|
|
|
for($i=$clientDomains['startnumber'];$i<=$clientDomains['numreturned'];$i++) {
|
|
|
if($params['domain'] == $clientDomains['domains']['domain'][$i]['domainname']) {
|