#!/usr/bin/perl use DBI(); use CGI qw(:standard); $domain = param("dom"); $quota = param("quot"); $user = param("uname"); $un = param("un"); $pass = param("passwd1"); $pass2 = param("passwd2"); $comment = param("comment"); $asmb = param("asmb"); $login="$user\@$domain"; $home="$domain/$user/"; system "./auth.cgi reg.cgi"; $retcode = $? / 256; if ($retcode ne "1") {exit;} #print "Content-type: text/html\n\n"; #system("./ustat $rip |grep 1 > $rip"); open(patt,"<./patt_n1.html")||die "Pattern file 1 not found"; while() { print; } close(patt); print "

Результат регистрации почтового ящика

"; $database="mail"; $hostname="127.0.0.1"; $port="3306"; $dbuser="root"; $dbpasswd="zopa25703"; #if ($ARGV[2] eq "") {$domain="miranet.ru";} else {$domain=$ARGV[2]}; if ($asmb eq "on") {$user=$login;} if ($un eq "") {$un = $user;} if ($quota eq "" or $user eq "" or $pass eq "" or $pass2 eq "") { print "
ОШИБКА: Заполнены не все поля

\n"; open(patt,"<../../patt_n2.html")||die "Pattern file 2 not found"; while() { print; } close(patt); exit 0; } #if ($passwd ne "zopazopa") #{ # print "
ACCESS DENYED

\n"; # open(patt,"<../../patt_n2.html")||die "Pattern file 2 not found"; # while() # { # print; # } # close(patt); # exit 0; #} if ($pass ne $pass2) { print "
ОШИБКА: Пароли не совпадают

\n"; open(patt,"<../../patt_n2.html")||die "Pattern file 2 not found"; while() { print; } close(patt); exit 0; } $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port"; $dbh = DBI->connect_cached($dsn, $dbuser, $dbpasswd) || die; $sth = $dbh->prepare("SELECT login FROM users WHERE login=\"$un\""); $sth->execute(); ($cuser) = $sth->fetchrow_array(); $sth->finish(); $sth = $dbh->prepare("SELECT user FROM users WHERE email=\"$login\""); $sth->execute(); ($cmail) = $sth->fetchrow_array(); $sth->finish(); #print "-- $user -- $cuser -- $cmail --"; $check = "0"; if ($cuser ne "" or $cmail ne "") {print "

Почтовый ящик не создан

";} if ($cuser ne "") {print "
ОШИБКА: Имя пользователя $user принадлежит почтовому ящику $cuser
\n"; $check = "1";} if ($cmail ne "") {print "
ОШИБКА: Почтовый ящик $login уже существует, имя пользователя $cmail
\n"; $check = "1";} if ($check eq "1") { print "
| Назад |
"; open(patt,"<../../patt_n2.html")||die "Pattern file 2 not found"; while() { print; } close(patt); exit 0; } print "

Почтовый ящик создан

\n
Почтовый ящик$login
Имя пользователя$un
Пароль$pass
Лимит$quota Мегабайт
Каталог$home

| Назад |
"; open(patt,"<./patt_n2.html")||die "Pattern file 2 not found"; while() { print; } close(patt); $quotas = $quota*(1024*1024); $dbh->do("INSERT INTO users VALUES (\"$login\",\"$un\",\"$pass\",\"${quotas}S\",\"$home\",\"0\",\"1\",\"1\",\"$comment\")") || die ; $dbh->disconnect(); open(MAIL, "|/usr/lib/sendmail -t"); print MAIL "Content-type: text/plain; charset=Windows-1251;\r\n"; print MAIL "To: $login\r\n"; print MAIL "From: root \r\n"; print MAIL "Reply-To: \r\n"; print MAIL "Subject: пЕЦХЯРПЮЖХЪ ОНВРНБНЦН ЪЫХЙЮ\r\n"; print MAIL "оНВРНБШИ ЪЫХЙ $login ГЮПЕЦХЯРПХПНБЮМ\r\n"; print MAIL "нАЗ╦Л ОНВРНБНЦН ЪЫХЙЮ $quota ЛЕЦЮАЮИР\r\n"; print MAIL "\r\n"; print MAIL "---мЮЯРПНИЙХ:\r\n"; print MAIL "\r\n"; print MAIL "хЛЪ ОНКЭГНБЮРЕКЪ: $un\r\n"; print MAIL "оЮПНКЭ: $pass\r\n"; print MAIL "юДПЕЯЮ POP3/SMTP ЯЕПБЕПНБ: mail.miranet.ru\r\n"; close (MAIL); #mkdir ("/home/vmail/$home"0755); #mkdir ("/home/vmail/$home/.Junk",0755); #mkdir ("/home/vmail/$home/.Junk/cur",0755); #mkdir ("/home/vmail/$home/.Junk/new",0755); #mkdir ("/home/vmail/$home/.Junk/tmp",0755); #system ("chown -R /home/vmail/"$home);