File

mod_alias/mod_alias_postfixadmin.sh @ 3243:ca856a892719

mod_pubsub_text_interface: A chat interface to PubSub This module lets you manage subscriptions to pubsub nodes via simple chat messages. Subscriptions are always added based on bare JID. The include_body flag is enabled so that a plain text body version of events can be included, where supported.
author Kim Alvefur <zash@zash.se>
date Mon, 20 Aug 2018 17:09:20 +0200
parent 1953:0c3ba5ff7a3b
line wrap: on
line source

#!/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 "}"