diff --git a/ADDITIONS/convert-passwd-to-postfixadmin.pl b/ADDITIONS/convert-passwd-to-postfixadmin.pl new file mode 100644 index 00000000..1e7b42cd --- /dev/null +++ b/ADDITIONS/convert-passwd-to-postfixadmin.pl @@ -0,0 +1,41 @@ +#!/usr/bin/perl -w +# +# Postfix Admin +# +# LICENSE +# This source file is subject to the GPL license that is bundled with +# this package in the file LICENSE.TXT. +# +# Further details on the project are available at : +# http://www.postfixadmin.com or http://postfixadmin.sf.net +# +# @version $Id$ +# @license GNU GPL v2 or later. +# +# +# Really crude attempt at taking all users from a local +# passwd file (/etc/shadow) and creating postfixadmin mailboxes for them. +# +# The script outputs some SQL, which you need to then insert into your database +# as appropriate. +# +# Notes: +# 1) Change $mydomain and $true as required. +# 2) Ideally it should parse /etc/passwd, or call the getpw()? function and +# populate someone's name if known. +# 3) There's plenty of room for improvement. +# +# Original author: David Goodwin - 2007/10/05. +# +use strict; + +open(FH, ') { + my ($username, $password) = split(':', $_); + next if $password eq '!'; + next if $password eq '*'; + my $maildir = "$username\@$mydomain/"; + print "insert into mailbox (username, password, domain, active, maildir) values ('$username', '$password', '$mydomain', $true, '$maildir');\n"; +}