Procmail: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
(samples) |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 76: | Zeile 76: | ||
if [ -r $DOMDIR/$EXT/.procmailrc ]; then | if [ -r $DOMDIR/$EXT/.procmailrc ]; then | ||
env -i DOM=$HOST USERNAME=$EXT /usr/bin/procmail -p -m /etc/ | env -i DOM=$HOST USERNAME=$EXT /usr/bin/procmail -p -m /etc/procmailrc | ||
cat > /dev/null | cat > /dev/null | ||
exit 99 | exit 99 | ||
else | else | ||
env -i DOM=$HOST USERNAME=$EXT /usr/bin/procmail -p -m /etc/ | env -i DOM=$HOST USERNAME=$EXT /usr/bin/procmail -p -m /etc/procmailrc | ||
cat > /dev/null | cat > /dev/null | ||
fi | fi | ||
Zeile 95: | Zeile 95: | ||
| /var/vpopmail/bin/vdelivermail '' bounce-no-mailbox | | /var/vpopmail/bin/vdelivermail '' bounce-no-mailbox | ||
</pre> | </pre> | ||
==Links== | |||
[http://www.huschi.net/11_203_de.html Beispiele für Filterung] | |||
[[Category:Mail]] | [[Category:Mail]] |
Aktuelle Version vom 26. Februar 2007, 22:12 Uhr
Procmail ist ein Mailfilter mit dem man z.b. Spam- oder Maillinglistenmails automatisch in ein Unterordner verschieben kann. Filterregeln können mit Horde(Ingo) erstellt werden.
von http://www.qmailinfo.org/index.php/Horde-Procmail-Filters
/etc/procmailrc:
SHELL="/bin/sh" #LOGFILE="/tmp/procmail.log" #VERBOSE=on VPOPHOME="/var/vpopmail" DOMHOME="$VPOPHOME/domains/$DOM" USERHOME="$DOMHOME/$USERNAME" SENDMAIL="/usr/sbin/sendmail -f $USERNAME@$DOM" DEFAULT="$USERHOME/Maildir/" HOME="$USERHOME" INCLUDERC="$USERHOME/.procmailrc" ##### move_Spam ##### :0 * ^X-Spam-Status:.*Yes "$DEFAULT/.Spam/" ##### move_unknown ##### :0 * ^X-Spam-Level:.*++ "$DEFAULT/.Unknown/" :0 w | /usr/bin/safecat "${HOME}/Maildir/tmp" "${HOME}/Maildir/new"
/usr/sbin/preprocmail:
#!/bin/sh VPOPMAIL=`echo ~vpopmail` DOMDIR=`$VPOPMAIL/bin/vdominfo -d $HOST` #convert to lower EXT=`echo $EXT | tr "[:upper:]" "[:lower:]" `; #check, if maildir exist if [ -d $DOMDIR/$EXT/Maildir ]; then #create spamfolder if not exists if [ ! -d $DOMDIR/$EXT/Maildir/.Spam ]; then /usr/bin/maildirmake.courier -f Spam $DOMDIR/$EXT/Maildir/ cat > /dev/null fi #create unknownfolder if not exists if [ ! -d $DOMDIR/$EXT/Maildir/.Unknown ]; then /usr/bin/maildirmake.courier -f Unknown $DOMDIR/$EXT/Maildir/ cat > /dev/null fi #create subscription or subscribe to spamfolder if [ ! -r $DOMDIR/$EXT/Maildir/courierimapsubscribed ]; then `echo INBOX.Spam>>$DOMDIR/$EXT/Maildir/courierimapsubscribed`; else #exist the subscription? if [ `/bin/grep Spam $DOMDIR/$EXT/Maildir/courierimapsubscribed |wc -l` = 0 ]; then `echo INBOX.Spam>>$DOMDIR/$EXT/Maildir/courierimapsubscribed`; fi fi #create subscription or subscribe to unknownfolder if [ ! -r $DOMDIR/$EXT/Maildir/courierimapsubscribed ]; then `echo INBOX.Unknown>>$DOMDIR/$EXT/Maildir/courierimapsubscribed`; else #exist the subscription? if [ `/bin/grep Unknown $DOMDIR/$EXT/Maildir/courierimapsubscribed |wc -l` = 0 ]; then `echo INBOX.Unknown>>$DOMDIR/$EXT/Maildir/courierimapsubscribed`; fi fi fi if [ -r $DOMDIR/$EXT/.procmailrc ]; then env -i DOM=$HOST USERNAME=$EXT /usr/bin/procmail -p -m /etc/procmailrc cat > /dev/null exit 99 else env -i DOM=$HOST USERNAME=$EXT /usr/bin/procmail -p -m /etc/procmailrc cat > /dev/null fi cat > /dev/null exit 0
This script will be called from a .qmail file. For example,
/var/vpopmail/domains/somedomain.com/.qmail-default:
| /var/qmail/bin/preline /usr/sbin/preprocmail | /var/vpopmail/bin/vdelivermail '' bounce-no-mailbox