|
|
@@ -9,6 +9,7 @@ require_once 'Net/DNS2.php';
|
|
|
const NS1 = '185.163.51.130';
|
|
|
const NS2 = '185.163.51.131';
|
|
|
const MX = 'mail3.seecure.ch';
|
|
|
+const SPF = 'v=spf1 mx a:mail3.seecure.ch ip4:185.163.51.0/24 ip4:89.35.78.0/23 ~all';
|
|
|
|
|
|
function KerioEmail_ClientAreaCustomButtonArray ($params)
|
|
|
{
|
|
|
@@ -95,7 +96,6 @@ function KerioEmailCheckMX($params)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
function KerioEmail_setMX($params)
|
|
|
{
|
|
|
$zoneIDcollection = Capsule::table('dns_manager2_zone')
|
|
|
@@ -124,8 +124,16 @@ function KerioEmail_setMX($params)
|
|
|
),
|
|
|
);
|
|
|
array_push($zoneRecords, $mxRecord);
|
|
|
+ $spfRecord = array(
|
|
|
+ 'line' => $params['domain'].'.|TXT|0',
|
|
|
+ 'name' => '@',
|
|
|
+ 'type' => 'TXT',
|
|
|
+ 'class' => 'IN',
|
|
|
+ 'data' => SPF
|
|
|
+ );
|
|
|
+ array_push($zoneRecords, $spfRecord);
|
|
|
foreach($dnsZone['data']->records as $record) {
|
|
|
- if($record->type != 'MX') {
|
|
|
+ if(($record->type != 'MX') && ($record->data != SPF)) {
|
|
|
array_push($zoneRecords, $record);
|
|
|
};
|
|
|
}
|