Esempio n. 1
0
    $_POST['on_spamassassin'] = 1;
} else {
    $_POST['on_spamassassin'] = 0;
}
# If a password wasn't specified, create a randomised 128bit password
if ($_POST['clear'] === "" && $_POST['vclear'] === "") {
    $junk = md5(rand() . time() . rand());
    $_POST['clear'] = $junk;
    $_POST['vclear'] = $junk;
}
# aliases must have a localpart defined
if ($_POST['localpart'] == '') {
    header("Location: adminalias.php?badname={$_POST['localpart']}");
    die;
}
check_mail_address($_POST['localpart'], $_SESSION['domain_id'], 'adminalias.php');
# check_user_exists() will die if a user account already exists with the same localpart and domain id
check_user_exists($dbh, $_POST['localpart'], $_SESSION['domain_id'], 'adminalias.php');
if (preg_match("/['@%!\\/\\|\" ']/", $_POST['localpart']) || preg_match("/^\\s*\$/", $_POST['realname'])) {
    header("Location: adminalias.php?badname={$_POST['localpart']}");
    die;
}
$forwardto = explode(",", $_POST['smtp']);
for ($i = 0; $i < count($forwardto); $i++) {
    $forwardto[$i] = trim($forwardto[$i]);
    if (!filter_var($forwardto[$i], FILTER_VALIDATE_EMAIL)) {
        header("Location: adminalias.php?invalidforward=" . htmlentities($forwardto[$i]));
        die;
    }
}
$aliasto = implode(",", $forwardto);
Esempio n. 2
0
        if (!empty($_POST[$v])) {
            $_POST[$v] = mb_convert_kana($_POST[$v], 'a');
            $_POST[$v] = delete_crlf($_POST[$v]);
            if (!check_mail_address($_POST[$v])) {
                $tmpl->set("email.{$v}", h($v . ERROR_EMAIL));
                $global_error[] = h($v . ERROR_EMAIL);
                $global_error_flag = true;
            }
        }
    }
}
// 自動返信メールの宛先($_POST[AUTO_REPLY_EMAIL])のメールアドレスチェック
if (isset($_POST[AUTO_REPLY_EMAIL]) && !empty($_POST[AUTO_REPLY_EMAIL])) {
    $_POST[AUTO_REPLY_EMAIL] = mb_convert_kana($_POST[AUTO_REPLY_EMAIL], 'a');
    $_POST[AUTO_REPLY_EMAIL] = delete_crlf($_POST[AUTO_REPLY_EMAIL]);
    if (!check_mail_address($_POST[AUTO_REPLY_EMAIL])) {
        $tmpl->set("email." . AUTO_REPLY_EMAIL, h(AUTO_REPLY_EMAIL . ERROR_EMAIL));
        $global_error[] = h(AUTO_REPLY_EMAIL . ERROR_EMAIL);
        $global_error_flag = true;
    }
}
// 一致チェック
if (isset($_POST['match'])) {
    foreach ($_POST['match'] as $v) {
        $array = preg_split('/\\s|,/', $v);
        $tmpl->set("match.{$array['0']}", false);
        if (!empty($_POST[$array[0]]) && !empty($_POST[$array[1]]) && $_POST[$array[0]] != $_POST[$array[1]]) {
            $tmpl->set("match.{$array['0']}", h($array[0] . ERROR_MATCH));
            $global_error[] = h($array[0] . ERROR_MATCH);
            $global_error_flag = true;
        }