$_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);
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; }