mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2025-08-04 01:55:29 +02:00
Issue 538 (#541)
* adapted setup.sh to handle email aliases * added needed scripts for alias management * added integration tests
This commit is contained in:
parent
7753d59d72
commit
a144f3811c
6 changed files with 122 additions and 0 deletions
30
target/bin/addalias
Executable file
30
target/bin/addalias
Executable 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
|
Loading…
Add table
Add a link
Reference in a new issue