2017-04-17 16:27:28 +00:00
|
|
|
#! /bin/bash
|
|
|
|
|
|
|
|
DATABASE=${DATABASE:-/tmp/docker-mailserver/postfix-virtual.cf}
|
|
|
|
|
|
|
|
EMAIL="$1"
|
|
|
|
RECIPIENT="$2"
|
|
|
|
|
|
|
|
usage() {
|
2018-03-14 19:00:38 +00:00
|
|
|
echo "Usage: addalias <alias@domain> <recipient@other>"
|
2017-04-17 16:27:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
errex() {
|
|
|
|
echo "$@" 1>&2
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
escape() {
|
|
|
|
echo "${1//./\\.}"
|
|
|
|
}
|
|
|
|
|
2020-07-19 19:21:01 +00:00
|
|
|
[ -z "$EMAIL" ] && { usage; errex "Error: No alias specified"; }
|
|
|
|
[ -z "$RECIPIENT" ] && { usage; errex "Error: No recipient specified"; }
|
2017-04-17 16:27:28 +00:00
|
|
|
|
|
|
|
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
|
2018-03-14 19:00:38 +00:00
|
|
|
sed -i "/$EMAIL/s/$/,$RECIPIENT/" $DATABASE
|
2017-04-17 16:27:28 +00:00
|
|
|
else
|
2018-03-14 19:00:38 +00:00
|
|
|
echo "$EMAIL $RECIPIENT" >> $DATABASE
|
2017-04-17 16:27:28 +00:00
|
|
|
fi
|