added needed scripts for alias management
This commit is contained in:
parent
9b7a14d8cc
commit
c17cd0f69b
|
@ -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
|
|
@ -0,0 +1,30 @@
|
||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
DATABASE=${DATABASE:-/tmp/docker-mailserver/postfix-virtual.cf}
|
||||||
|
|
||||||
|
EMAIL="$1"
|
||||||
|
RECIPIENT="$2"
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "Usage: delalias <user@domain> <recipient@other>"
|
||||||
|
}
|
||||||
|
|
||||||
|
errex() {
|
||||||
|
echo "$@" 1>&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
escape() {
|
||||||
|
echo "${1//./\\.}"
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -z "$EMAIL" ] || [ -z "$RECIPIENT" ] && { usage; errex "No email specifed"; }
|
||||||
|
[ -s "$DATABASE" ] || exit 0
|
||||||
|
|
||||||
|
CNT=$(grep "^$EMAIL" $DATABASE | wc -w | awk '{print $1}')
|
||||||
|
|
||||||
|
if [[ $CNT -eq 2 ]]; then
|
||||||
|
sed -i '' "/^$EMAIL/d" $DATABASE
|
||||||
|
else
|
||||||
|
sed -i '' "/^$EMAIL/s/ $RECIPIENT//g" $DATABASE
|
||||||
|
fi
|
|
@ -0,0 +1,13 @@
|
||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
DATABASE=${DATABASE:-/tmp/docker-mailserver/postfix-virtual.cf}
|
||||||
|
|
||||||
|
errex() {
|
||||||
|
echo "$@" 1>&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -f $DATABASE ] || errex "No postfix-virtual.cf file"
|
||||||
|
[ -s $DATABASE ] || errex "Empty postfix-virtual.cf - no aliases have been added"
|
||||||
|
|
||||||
|
cat $DATABASE
|
Loading…
Reference in New Issue