Home > почта > Скрипт создания почтового ящика для Cyrus SASL Postfix

Скрипт создания почтового ящика для Cyrus SASL Postfix

July 10th, 2009

Вызывать надо с параметром необходимого почтового ящика.

#!/usr/bin/perl -w

use Cyrus::IMAP::Admin;

my $server="mail.server.com";
my $admin="admin";
my $password="password";
my $quota="300000";
my $client = Cyrus::IMAP::Admin->new($server);

my $user=$ARGV[0];

if($user eq ""){
    print 'syntax: create_mail.pl test@test.com';
    die;
}

@chars = ("A" .. "Z", "a" .. "z", 0 .. 9);
$userpass = join("", @chars[ map{ rand @chars }(1 .. 10) ]);

system("/bin/echo $userpass | /usr/local/sbin/saslpasswd2 -p -c $user");
system("/bin/echo $user $user >> /usr/local/etc/postfix/virtual");
system("/usr/local/sbin/postmap /usr/local/etc/postfix/virtual");

$client->authenticate(-mechanism => "LOGIN",-user => $admin,-password => $password);
$rc = $client->create("user/$user");
$rc = $client->setacl("user/$user","$user" => 'all');
$rc = $client->setacl("user/$user",'admin' => 'all');
$rc = $client->setquota("user/$user",'STORAGE' => $quota);

print "User: $user Password: $userpass";

почта ,

  1. No comments yet.
  1. No trackbacks yet.