Пример #1
0
function sender_host_save(){
	$sasl_username=$_GET["sasl_username"];
	$sasl_password=$_GET["sasl_password"];
	$relay_address=$_GET["relay_address"];
	$relay_port=$_GET["relay_port"];
	$MX_lookups=$_GET["MX_lookups"];
	$uid=$_GET["uid"];
	$tpl=new templates();
	
	if($relay_address==null){echo $tpl->javascript_parse_text('{error} {relay_address} = NULL');exit;}
	if(!is_numeric($relay_port)){$relay_port=25;}
		
	$domain=new DomainsTools();
	$line=$domain->transport_maps_implode($relay_address,$relay_port,null,$MX_lookups);
	$user=new user($uid);
	if($user->SenderCanonical==null){
		echo $tpl->javascript_parse_text("{error}: {sender_canonical}=NULL");
		exit;
	}
	
	$user->SenderCanoniCalSMTPRelayAdd($line,$sasl_username,$sasl_password,$relay_address);
	$sock=new sockets();
	if($sock->GET_INFO("smtp_sender_dependent_authentication")<>1){
		$sock->SET_INFO("smtp_sender_dependent_authentication",1);
		
	}
	
	$sock->getFrameWork("cmd.php?reconfigure-postfix=yes");
	
	
	
	
}
Пример #2
0
function save()
{
    $sender_canonical = $_GET["sender_canonical"];
    $relay_address = $_GET["relay_address"];
    $relay_port = $_GET["relay_port"];
    $sasl_username = $_GET["sasl_username"];
    $sasl_password = $_GET["sasl_password"];
    $user = new user($_SESSION["uid"]);
    $user->SenderCanonical = $_GET["sender_canonical"];
    $user->add_Canonical();
    if ($relay_address != null && $relay_port != null) {
        $domain = new DomainsTools();
        $line = $domain->transport_maps_implode($relay_address, $relay_port, null, "no");
        $user->SenderCanoniCalSMTPRelayAdd($line, $sasl_username, $sasl_password, $relay_address);
    }
}
function relayhostSave()
{
    $ou = $_GET["ou"];
    $hostname = $_GET["hostname"];
    $tpl = new templates();
    if ($_GET["relay_port"] == null) {
        $_GET["relay_port"] = 25;
    }
    if ($_GET["relay_address"] == null) {
        echo $tpl->_ENGINE_parse_body("{error_no_server_specified}");
        exit;
    }
    $tool = new DomainsTools();
    writelogs("Port={$_GET["relay_port"]} address={$_GET["relay_address"]}", __FUNCTION__, __FILE__);
    $data = $tool->transport_maps_implode($_GET["relay_address"], $_GET["relay_port"], 'smtp', $_GET["MX_lookups"]);
    writelogs("Port={$_GET["relay_port"]} address={$_GET["relay_address"]}={$data}", __FUNCTION__, __FILE__);
    $data = str_replace('smtp:', '', $data);
    //smtp_sasl_password_maps
    $main = new maincf_multi($hostname, $ou);
    if ($_GET["username"] != null) {
        $auth = "{$_GET["username"]}:{$_GET["password"]}";
        $main->SET_VALUE("relayhost_authentication", $auth);
    }
    $main->SET_VALUE("relayhost", $data);
    $sock = new sockets();
    $sock->getFrameWork("cmd.php?postfix-multi-relayhost={$_GET["hostname"]}");
}
Пример #4
0
function PostfixAddRoutingRuleTableSave(){
$MX_lookups=$_GET["MX_lookups"];
$domain=$_GET["domain"];
$org=$_GET["org"];
$relay_address=$_GET["relay_address"];
$relay_port	=$_GET["relay_port"];
$service=$_GET["service"];
$tpl=new templates();
if($relay_address==null){echo $tpl->_ENGINE_parse_body('{error_give_address}');return null;}
if($domain==null){echo $tpl->_ENGINE_parse_body('{error_give_pattern}');return null;}
if($org==null){echo $tpl->_ENGINE_parse_body('{error_no_organization}');return null;}
writelogs("organization for this transport table rule=$org",__FUNCTION__,__FILE__);
	$tool=new DomainsTools();
	$line=$tool->transport_maps_implode($relay_address,$relay_port,$service,$MX_lookups);
writelogs("$line",__FUNCTION__,__FILE__);	
	$ldap=new clladp();
	$ldap->AddTransportTable($domain,$line,$org);
	$sock=new sockets();
	$sock->getFrameWork("services.php?postfix-single=yes");

}
Пример #5
0
function USER_TRANSPORT_SAVE()
{
    $domain = new DomainsTools();
    $line = $domain->transport_maps_implode($_GET["relay_address"], $_GET["relay_port"], null, $_GET["MX_lookups"]);
    $user = new user($_GET["uid"]);
    $user->add_transport("{$line}");
}
function recipient_save()
{
    $tpl = new templates();
    $q = new mysql();
    if ($_POST["recipient-save"] == null) {
        return;
    }
    if ($_POST["relay_address"] == null) {
        echo $tpl->_ENGINE_parse_body('{error_no_server_specified}');
        exit;
    }
    $sql = "SELECT recipient,hostname FROM postfix_transport_recipients WHERE `recipient`='{$_POST["recipient-save"]}'";
    $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
    if (!$q->ok) {
        echo $q->mysql_error . "\n{$sql}\n";
        return;
    }
    if ($_POST["MX_lookups"] == 1) {
        $_POST["MX_lookups"] = "yes";
    } else {
        $_POST["MX_lookups"] = "no";
    }
    if (trim($ligne["hostname"]) != null) {
        if (trim($ligne["hostname"]) != trim($_POST["hostname"])) {
            echo $tpl->javascript_parse_text("{already_used_byinstance}:" . $ligne["hostname"]);
            return;
        }
    }
    $domaintools = new DomainsTools();
    $transport = $domaintools->transport_maps_implode($_POST["relay_address"], $_POST["port"], "smtp", $_POST["MX_lookups"]);
    $sql = "INSERT IGNORE INTO postfix_transport_recipients (recipient,transport,enabled,hostname) VALUES \n\t('{$_POST["recipient-save"]}','{$transport}',1,'{$_POST["hostname"]}')";
    if ($ligne["recipient"] != null) {
        $sql = "UPDATE postfix_transport_recipients SET transport='{$transport}' WHERE `recipient`='{$_POST["recipient-save"]}'";
    }
    $q = new mysql();
    $q->QUERY_SQL($sql, "artica_backup");
    if (!$q->ok) {
        echo $q->mysql_error;
    }
}
Пример #7
0
function SaveISPAddress()
{
    $tpl = new templates();
    $domain = new DomainsTools();
    $page = CurrentPageName();
    $address = $domain->transport_maps_implode($_GET["isp_address"], $_GET["isp_port"]);
    $sasl = new smtp_sasl_password_maps();
    writepostfixlogs("Set ISP server has {$address}", __FUNCTION__, __FILE__);
    $sock = new sockets();
    $sock->SET_INFO("PostfixRelayHost", "{$address}");
    writepostfixlogs("is this server {$address} must use authentication ?", __FUNCTION__, __FILE__);
    if (trim($_GET["isp_username"]) == null) {
        $sasl->delete($address);
        exit;
    }
    if (trim($_GET["isp_password"]) == null) {
        die("password NULL !");
    }
    writepostfixlogs("Enable SMTP Sasl", __FUNCTION__, __FILE__);
    $main = new main_cf();
    $main->smtp_sasl_password_maps_enable();
    if (!$sasl->add($address, trim($_GET["isp_username"]), trim($_GET["isp_password"]))) {
        die($sasl->ldap_infos);
    }
}
Пример #8
0
function PostfixAddFallBackerserverSave()
{
    $relay_address = $_POST["relay_address"];
    $tpl = new templates();
    if ($relay_address == null) {
        echo $tpl->_ENGINE_parse_body('{error_give_server}');
        return null;
    }
    $smtp_port = $_POST["relay_port"];
    $MX_lookups = $_POST["MX_lookups"];
    writelogs("Edit {$relay_address} {$smtp_port} {$MX_lookups} tool->transport_maps_implode({$relay_address},{$smtp_port},null,{$MX_lookups})", __FUNCTION__, __FILE__);
    $tool = new DomainsTools();
    $line = $tool->transport_maps_implode($relay_address, $smtp_port, null, $MX_lookups);
    $line = str_replace("smtp:", '', $line);
    $main = new maincf_multi($_POST["hostname"]);
    $arr = explode(',', $main->GET_BIGDATA("smtp_fallback_relay"));
    if (isset($_GET["TableIndex"])) {
        writelogs("Edit " . $arr[$_GET["TableIndex"]] . " to " . $line, __FUNCTION__, __FILE__);
        $arr[$_GET["TableIndex"]] = $line;
    }
    if (is_array($arr)) {
        while (list($index, $ligne) = each($arr)) {
            if ($ligne != null) {
                $array[] = $ligne;
            }
        }
    }
    if (!isset($_GET["TableIndex"])) {
        $array[] = $line;
    }
    $main->SET_BIGDATA("smtp_fallback_relay", implode(",", $array));
}
function AddTransportToDomain()
{
    $usr = new usersMenus();
    $tpl = new templates();
    if ($usr->AllowChangeDomains == false) {
        echo $tpl->_ENGINE_parse_body('{no_privileges}');
        exit;
    }
    $domain = $_GET["AddTransportToDomain"];
    $ou = $_GET["ou"];
    $ldap = new clladp();
    $tpl = new templates();
    $tool = new DomainsTools();
    $line = $tool->transport_maps_implode($_GET["transport_ip"], '25', 'smtp');
    $ldap->AddDomainTransport($ou, $domain, $_GET["transport_ip"], '25', $_GET["transport_type"], 'smtp');
    if ($ldap->ldap_last_error != null) {
        echo $ldap->ldap_last_error;
        return;
    }
}
Пример #10
0
function import_save()
{
    $tpl = new templates();
    $q = new mysql();
    if ($_POST["recipient-import"] == null) {
        return;
    }
    if ($_POST["relay_address"] == null) {
        echo $tpl->_ENGINE_parse_body('{error_no_server_specified}');
        exit;
    }
    $domaintools = new DomainsTools();
    $transport = $domaintools->transport_maps_implode($_POST["relay_address"], $_POST["port"], "smtp", $_POST["MX_lookups"]);
    $prefix = "INSERT IGNORE INTO postfix_transport_recipients (recipient,transport,enabled,hostname) VALUES ";
    $tr = explode("\n", $_POST["recipient-import"]);
    while (list($num, $email) = each($tr)) {
        $email = trim($email);
        $email = str_replace("\r", "", $email);
        $email = str_replace("\n", "", $email);
        if ($email == null) {
            continue;
        }
        $f[] = "('{$email}','{$transport}',1,'{$_POST["hostname"]}')";
    }
    if (count($f) > 0) {
        $sql = $prefix . @implode(",", $f);
        $q->QUERY_SQL($sql, "artica_backup");
        if (!$q->ok) {
            echo $q->mysql_error;
            return;
        }
        echo $tpl->javascript_parse_text(count($f) . " {new_items}");
    }
}
function PostFixAddServerCacheSave()
{
    $tool = new DomainsTools();
    $tpl = new templates();
    $relay_address = $_POST["relay_address"];
    $relay_port = $_POST["relay_port"];
    $MX_lookups = $_GET["MX_lookups"];
    $domain = $_POST["domain"];
    if ($domain != null && $relay_address != null) {
        echo $tpl->javascript_parse_text('{error_give_server_or_domain}');
        exit;
    }
    if ($relay_address != null) {
        $line = $tool->transport_maps_implode($relay_address, $relay_port, null, $MX_lookups);
        $line = str_replace('smtp:', '', $line);
    } else {
        $line = $domain;
    }
    $main = new maincf_multi($_POST["hostname"]);
    $smtp_connection_cache_destinations = unserialize(base64_decode($main->GET_BIGDATA("smtp_connection_cache_destinations")));
    $smtp_connection_cache_destinations[$line] = "OK";
    $smtp_connection_cache_destinations_new = base64_encode(serialize($smtp_connection_cache_destinations));
    if (!$main->SET_BIGDATA("smtp_connection_cache_destinations", addslashes($smtp_connection_cache_destinations_new))) {
        echo $main->{$q}->mysql_error;
        return;
    }
    $sock = new sockets();
    $sock->getFrameWork("cmd.php?postfix-others-values=yes&hostname={$_POST["hostname"]}");
}
function PostFixAddServerCacheSave()
{
    $tool = new DomainsTools();
    $tpl = new templates();
    $relay_address = $_GET["relay_address"];
    $relay_port = $_GET["relay_port"];
    $MX_lookups = $_GET["MX_lookups"];
    $domain = $_GET["domain"];
    if ($domain != null && $relay_address != null) {
        echo $tpl->_ENGINE_parse_body('{error_give_server_or_domain}');
        exit;
    }
    if ($relay_address != null) {
        $line = $tool->transport_maps_implode($relay_address, $relay_port, null, $MX_lookups);
        $line = str_replace('smtp:', '', $line);
    } else {
        $line = $domain;
    }
    $ldap = new clladp();
    if (!$ldap->ExistsDN("cn=smtp_connection_cache_destinations,cn=artica,{$ldap->suffix}")) {
        $dn = "cn=smtp_connection_cache_destinations,cn=artica,{$ldap->suffix}";
        $upd["cn"][0] = 'smtp_connection_cache_destinations';
        $upd['objectClass'][0] = 'PostFixStructuralClass';
        $upd['objectClass'][1] = 'top';
        if (!$ldap->ldap_add($dn, $upd)) {
            echo $ldap->ldap_last_error;
        }
        unset($upd);
    }
    $dn = "cn={$line},cn=smtp_connection_cache_destinations,cn=artica,{$ldap->suffix}";
    $upd["cn"][0] = $line;
    $upd['objectClass'][0] = 'PostFixSmtpConnectionCacheDestinations';
    $upd['objectClass'][1] = 'top';
    if (!$ldap->ldap_add($dn, $upd)) {
        echo $ldap->ldap_last_error;
    }
}
Пример #13
0
function smtp_instance_cache_destinations_save()
{
    $tool = new DomainsTools();
    $tpl = new templates();
    $relay_address = $_POST["relay_address"];
    $relay_port = $_POST["relay_port"];
    $MX_lookups = $_GET["MX_lookups"];
    $domain = $_POST["domain"];
    $uuid = $_POST["uuid"];
    if ($domain != null && $relay_address != null) {
        echo $tpl->javascript_parse_text('{error_give_server_or_domain}');
        exit;
    }
    if ($relay_address != null) {
        $line = $tool->transport_maps_implode($relay_address, $relay_port, null, $MX_lookups);
        $line = str_replace('smtp:', '', $line);
    } else {
        $line = $domain;
    }
    $main = new maincf_multi($_POST["hostname"], $_POST["ou"]);
    $array = unserialize(base64_decode($main->GET_BIGDATA("domain_throttle_daemons_list")));
    $array[$uuid]["smtp-instance-cache-destinations"][$line] = "OK";
    $smtp_connection_cache_destinations_new = base64_encode(serialize($array));
    if (!$main->SET_BIGDATA("domain_throttle_daemons_list", addslashes($smtp_connection_cache_destinations_new))) {
        echo $main->{$q}->mysql_error;
        return;
    }
    $sock = new sockets();
    $sock->getFrameWork("cmd.php?postfix-throttle=yes&instance={$_GET["hostname"]}");
}