1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
|
#!/usr/local/bin/perl -w
use strict;
use DBI;
use Fcntl ':flock';
####
#### Daten, die später aus mySQL kommen
####
my $localpart = 'test';
my $vhost = 2;
my $login = 'testpop1';
my $password = '<crypted passwort hier>';
my $home = '/home/popuser/popboxen/spacebert.de/testpop1';
####
#### Update der vadmin pop3 tabelle
#### Logindaten später aus der pdadmin.conf nehmen
####
my $driver = "DBI:mysql";
my $database = "vadmin";
my $hostname = "localhost";
my $dsn = "$driver:database=$database;host=$hostname;";
my $sql_login ='vadmin';
my $sql_pwd ='<das vadmin-pwd hier>';
####
#### Den neuen Mailaccount in die pdadmin-Tabelle eintragen
####
my $h_db = DBI->connect($dsn, $sql_login, $sql_pwd) or die "Can not connect to DB!";
my $query = "INSERT INTO pop3 (localpart,vhost,login,password,home) VALUES ('$localpart','$vhost','$login','$password','$home')";
my $sth = $h_db->prepare($query) or die "Can not prepare query '$query'";
my $rv = $sth->execute or die "Can not execute query '$query'";
$sth->finish;
$h_db->disconnect;
####
#### Nun QMail für den neuen account konfigurieren
####
mkdir "$home";
mkdir $home."/Maildir";
mkdir $home."/Maildir/cur";
mkdir $home."/Maildir/new";
mkdir $home."/Maildir/tmp";
system ("/bin/echo $home/Maildir/ > $home/.qmail");
my $data = "|/home/popuser/spamfilter.pl\n|/home/popuser/mailquotacheck.sh\n".`cat $home/.qmail`;
open (FILE, "> $home/.qmail");
print FILE $data;
close (FILE);
# Mailquota einstellen. Hier ein fixer Wert. Das koennte man
# sicher auch aus der Angebotstabelle von vadmin auslesen.
system ("/bin/echo 100000 > $home/.quota");
system ("/bin/chown -R popuser:popuser $home");
system ("chmod -R 700 $home");
system ("chmod 600 $home/.qmail");
$data = "=spacedbx-spacebert.de-$localpart:$login:1018:1009:".$home.":::\n".`cat /home/qmail/users/assign`;
open( FILE, "> /home/qmail/users/assign" );
print FILE $data;
close (FILE);
system ("/home/qmail/bin/qmail-newu"); |