Software / code / prosody-modules
File
mod_alias/mod_alias_postfixadmin.sh @ 6195:886c985ece61
mod_lastlog2: Skip initializing internal API (and storage) in prosodyctl
Initializing storage in the global context under prosodyctl causes the
module.command to fail to execute because the storage module has already
been loaded.
Introduced in 7b722955c59b
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 08 Feb 2025 14:12:18 +0100 |
| 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 "}"