Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Exim MTA

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

ShriEkeR (16-05-2011 18:50): FAQ по Exim MTA #2  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

fd254



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

#!/usr/bin/perl
use DBI;
use Getopt::Long;
use Mail::Mailer;
use MIME::QuotedPrint;
 
# Константы
my ($id,$pass,$quota,$help);
$mbox_host="domain.ru";
GetOptions ( "user=s" => \$id,  # Имя пользователя
                "pass=s" => \$userpass,  # Пароль
                "q=i" =>  \$quota,        # Квота
                "help" =>  \$help        # Помощь
        );
die "Введите имя пользователя " unless defined $id;
die "Введите пароль" unless defined $userpass;
die "Введите дисковую квоту" unless defined $quota;
 
sub userexist {
  my $valid_id=$_[0];
  $host="localhost";
  $user="mail";
  $pass="password";
  $base="maildb";
  $port="3306";
  $dsn = "DBI:mysql:database=$base;host=$host;port=$port";
  $dbh = DBI->connect($dsn, $user, $pass,{'RaiseError' => 1});
  $sth = $dbh->prepare(qq{SELECT * FROM users WHERE id=? });
  $sth->execute($valid_id);
  while ( my $ref = $sth->fetchrow_hashref()) {
    if ( $ref->{'active'}) {
      die "Пользователь $valid_id уже существует в системе\n";
    }
  }
  $sth->finish;
  $dbh->disconnect;
}
 
sub useradd {
  my ($id,$userpass,$quota,$mbox_host)=@_;
  my $shell="\/sbin\/nologin";
  my $uid="102";
  my $gid="8";
  my $active="Y";
  my $home="\/home\/vmail\/domains\/";
  $homedir=$home.$mbox_host."\/".$id;
# Соединение с базой данных
  $db_host="localhost";
  $db_user="mail";
  $db_pass="password";
  $db_base="maildb";
  $db_port="3306";
  $dsn = "DBI:mysql:database=$db_base;host=$db_host;port=$db_port";
  $dbh = DBI->connect($dsn, $db_user, $db_pass,{'RaiseError' => 1});
  $sth = $dbh->prepare( qq{ INSERT INTO users VALUES (?,ENCRYPT(?),?,?,?,?,?,?,?,?) });
  $sth->execute($id,$userpass,$userpass,$uid,$gid,$mbox_host,$shell,$homedir,$quota,$active);
  $sth->finish();
  $dbh->disconnect();
}
sub sendmail {
  my ($id,$mbox_host) = @_;
  $from_address="Свой_Адрес_сюда@".$mbox_host;
  $to_address=$id."@".$mbox_host;
  $pre_subj="Добро пожаловать на $mbox_host"; # $mbox_host
  $post_subj=encode_qp($pre_subj,"");
  $post_subj=~s/ /_/g;
  $subject="=?koi8-r?Q?".$post_subj."?=";
  $body="Здравствуйте!\n\nНадеемся, что Вы будете довольны работой Вашего почтового ящика и удовлетворены набором предлагаемых Вам услуг:\n\t*Объем почтового ящика - 25 Мб*\n\t*Максимальный размер письма - 10 Мб*\n\t*Защита от вирусов\n\tЗащита от спама\n\tДоступ по протоколу IMAP\n\t**/\n\tНе забывайте периодически чистить почтовые папки, в соотвестствии с размером Вашаего ящика.\n\t /*\n\n\n\tИнженер отдела информатизации\n\t";
  $mailer = Mail::Mailer->new("sendmail");
  $mailer->open(\%headers);
  $mailer->open({
                "From"  => $from_address,
                "To"    => $to_address,
                "Subject" => $subject,
                "MIME-Version" => "1.0",
                "Content-Type" => "text/plain; charset=KOI8-R; format=flowed",
                "Content-Transfer-Encoding" => "8bit",
                })
  or die "Не могу открыть: $!\n";
  print $mailer $body;
  $mailer->close;
}
userexist($id);
useradd($id,$userpass,$quota,$mbox_host);
sendmail($id,$mbox_host);

Всего записей: 142 | Зарегистр. 07-02-2003 | Отправлено: 21:11 25-09-2006 | Исправлено: fd254, 21:14 25-09-2006
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Exim MTA
ShriEkeR (16-05-2011 18:50): FAQ по Exim MTA #2


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru