You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
844 B
21 lines
844 B
7 years ago
|
#!/bin/sh
|
||
|
# Copyright (C) 2015 Travis Burtrum
|
||
|
# This file is MIT/X11 licensed.
|
||
|
|
||
|
# run like ./mod_alias_postfixadmin.sh "mysql -N -upostfixadmin -ppostfixadmin postfixadmin" > /etc/prosody/aliases.cfg.lua
|
||
|
# then put:
|
||
|
# Include "aliases.cfg.lua"
|
||
|
# in prosody.cfg.lua
|
||
|
|
||
|
mysql="$1"
|
||
|
|
||
|
echo "-- alias plugin, generated by mod_alias_postfixadmin.sh"
|
||
|
echo "aliases = {"
|
||
|
|
||
|
echo "SELECT concat('["'"'"', address, '"'"'"] = "'"'"', goto, '"'"'";') FROM alias WHERE address != goto;
|
||
|
SELECT concat('["'"'"', address, '"'"'"] = "'"'"', goto, '"'"'";') FROM (
|
||
|
select replace(address, concat('@', target_domain), concat('@', alias_domain)) as address, goto FROM alias JOIN alias_domain ON alias_domain.target_domain = SUBSTRING(alias.address, locate('@',alias.address) + 1, length(alias.address))
|
||
|
) a WHERE a.address != a.goto;" | $mysql | sort | uniq
|
||
|
|
||
|
echo "}"
|