如何使用cyradm管理工具为用户批量创建邮件信箱
使用cyradm管理工具为用户创建邮件信箱的步骤如下:/usr/lib/cyrus-imapd/cyradm -u cyrus localhost
localhost.localdomain> createmailbox user.steven
localhost.localdomain> createmailbox user.steven.Send
localhost.localdomain> createmailbox user.steven.Trash
localhost.localdomain> createmailbox user.steven.Drafts
c、为用户邮箱设置配额
localhost.localdomain> setquota user.steven 5210
查看配额
localhost.localdomain> listquota user.steven
d、为用户信箱设localhost.localdomain> setacl user.steven cyrus all
localhost.localdomain> listacl user.steven
退出localhost.localdomain,在命令行下,建用户,执行以下命令
useradd(steven)
passwd(steven)
现在的我需要创建100个邮箱帐户,哪位高人能帮忙想个好的办法,要不然我得useradd100次呢 我建议写个脚本
给你一个例子:
for i in {1..100}
do
echo $i
done
回复 2楼 linuxpk 的帖子
能具体写下吗,伪代码就可以了,testuser1---testuser100,用户名和密码一样就可以 使用perl 最为容易啦程序如下
#!/usr/bin/perl -w
#
use Cyrus::IMAP::Admin;
my $cyrus_server = "localhost";
my $cyrus_user = "cyrus";
my $cyrus_pass = "secret";
# 500 Megs
my $quota_size = "5000000";
my $mechanism = "login";
sub
createMailbox
{
my ($user, $subfolder) = @_;
my
$cyrus = Cyrus::IMAP::Admin->new ($cyrus_server);
$cyrus->
authenticate ($mechanism, 'imap', '', $cyrus_user, '0', '10000',
$cyrus_pass);
if ($subfolder eq "INBOX")
{
$mailbox = "user.".$user;
}
else
{
$mailbox = "user.".$user.".".$subfolder;
}
$cyrus->create ($mailbox);
if ($cyrus->error)
{
STDERR
"Error: ",
$mailbox,
" ",
$cyrus->
error,
"\n";
}
else
{
print "Created Mailbox: $mailbox \n";
}
}
sub
setQuota
{
my ($user) = @_;
my
$cyrus = Cyrus::IMAP::Admin->new ($cyrus_server);
$cyrus->
authenticate ($mechanism, 'imap', '', $cyrus_user, '0', '10000',
$cyrus_pass);
$mailbox = "user.".$user;
$cyrus->
setquota ($mailbox, "STORAGE", $quota_size);
if ($cyrus->error)
{
STDERR
"Error: ",
$mailbox,
" ",
$cyrus->
error,
"\n";
}
else
{
print "Setting Quota: $mailbox at $quota_size \n";
}
}
#createMailbox($newuser,'Junk');
#setQuota($newuser);
-------------------------------
大体的程序都在这里了,很容易就可以处理你的问题啦。
页:
[1]