--- /dev/null
+#!/bin/bash
+
+# $Id$
+
+# to be run on the mail server at one-lab.org, to add aliases in that domain
+# Example:
+# new-alias.sh francois2.jan@orange-ftgroup.com
+# -> creates two aliases
+# francois2.jan@one-lab.org
+# francois2.jan.private@one-lab.org
+
+COMMAND=$(basename $0)
+
+SQL="psql -U mail mail"
+
+function usage () {
+ echo "Usage: $command alias1 [ .. aliasn]"
+ exit 1
+}
+
+function create () {
+
+ target=$1; shift
+
+ namepart=$(echo $target | cut -s -d @ -f 1)
+ domainpart=$(echo $target | cut -s -d @ -f 2)
+ if [ -z "$namepart" -o -z "$domainpart" ] ; then
+ echo "WARNING: $target skipped"
+ continue
+ fi
+ for suffix in "" ".private" ; do
+ aliasname=${namepart}${suffix}@one-lab.org
+ sqlcommand="insert into alias values ( '${aliasname}', '${target}' )"
+ echo "Sending $sqlcommand"
+ echo "$sqlcommand" | $SQL
+ done
+
+}
+
+function list_aliases () {
+ echo 'select * from alias;' | $SQL
+}
+
+
+function main () {
+
+ targets="$@"
+
+ if [[ -z "$targets" ]] ; then
+ list_aliases
+ else
+ for target in "$@" ; do
+ create $target
+ done
+ fi
+}
+
+main "$@"