Issue 538 (#541)

* adapted setup.sh to handle email aliases
* added needed scripts for alias management
* added integration tests
This commit is contained in:
Thomas A. Kilian 2017-04-17 18:27:28 +02:00 committed by Thomas VIAL
parent 7753d59d72
commit a144f3811c
6 changed files with 122 additions and 0 deletions

30
target/bin/addalias Executable file
View file

@ -0,0 +1,30 @@
#! /bin/bash
DATABASE=${DATABASE:-/tmp/docker-mailserver/postfix-virtual.cf}
EMAIL="$1"
RECIPIENT="$2"
usage() {
echo "Usage: addalias <user@domain> <recipient@other>"
}
errex() {
echo "$@" 1>&2
exit 1
}
escape() {
echo "${1//./\\.}"
}
[ -z "$EMAIL" ] && { usage; errex "no email specified"; }
grep -qi "^$(escape $EMAIL)[a-zA-Z@.\ ]*$(escape $RECIPIENT)" $DATABASE 2>/dev/null &&
errex "Alias \"$EMAIL $RECIPIENT\" already exists"
if grep -qi "^$(escape $EMAIL)" $DATABASE 2>/dev/null; then
sed -i "/$EMAIL/s/$/ $RECIPIENT,/" $DATABASE
else
echo "$EMAIL $RECIPIENT," >> $DATABASE
fi