Procmail Mailinglist (Variante 2)
.procmailrc
Für das Postfach in dem eingehende Mails an die Mailinglist(s) terminieren
.procmailrc
SHELL=/bin/bash
VERBOSE=no
#LOGFILE=/tmp/procmail-vt.log
#LOGABSTRACT=all
FROM=`formail -xFrom: | sed -e 's/ *(.*)//; s/>.*//; s/.*[:<] *//'`
###########################################################
:0
* ^To:.*ml1@
* ? fgrep -qxis $FROM /home/.mailinglists/user1/list1
| /usr/local/bin/mailinglist "/home/.mailinglists/user1/list1" "ML1"
###########################################################
:0
* ^To:.*ml2@
* ? fgrep -qxis $FROM /home/.mailinglists/user1/list2
| /usr/local/bin/mailinglist "/home/.mailinglists/user1/list2" "ML2"
###########################################################
:0
| /dev/null/usr/local/bin/mailinglist
#!/bin/bash
MAIL=$(cat /dev/stdin)
FROM=$(echo "${MAIL}" | formail -xFrom: | sed -e 's/ *(.*)//; s/>.*//; s/.*[:<] *//')
if [ "x${2}" != "x" ]; then
MAIL=$(echo "${MAIL}" | /bin/sed -e "s/Subject: /Subject: \x5B${2}\x5D /g")
fi
if [ "x${1}" != "x" ]; then
if [ -f "${1}" ]; then
for RECP in $(cat ${1}); do
MAIL=$(echo "$MAIL" | formail -I "To: ${RECP}")
echo "${MAIL}" | /usr/sbin/sendmail -t -r "${FROM}"
done
fi
fi/home/.mailinglists/user1/list1
Auflistung der Empfänger, eine E-Mail Adresse pro Zeile
/home/.mailinglists/user1/list1
mail1@domain
mail2@domain
mail3@domain/home/.mailinglists/user1/list2
Auflistung der Empfänger, eine E-Mail Adresse pro Zeile
/home/.mailinglists/user1/list2
mail3@domain
mail4@domain
mail5@domainZuletzt aktualisiert am