[FUGSPBR] OFF: Qmail + Procmail + vdelivermail bounce (solução)
Rodrigo Graeff
delphus em delphus.org
Qui Jan 22 18:55:22 BRST 2004
Passei por mal bocados tentando solucionar este problema de usar
procmail+vdelivermail antes de criar um patch para o vpopmail que ainda
não está 100% funcional.
O cenário é o seguinte: voce usa qmail-scanner com spamassassin ou
spamassassin dentro do procmailrc e quer gravar mensagens de spam em
outra pasta de imap. Fazendo um search em listas de discussão vais
encontrar muitos scripts de procmail que fazem uma chamada para o
vdelivermail '' bounce-no-mailbox, porém este não entregará mensagens em
bounce (ainda estou tentando descobrir exatamente o por quê). Vamos aos
passos pra ter esta funcionalidade "funcional".
instale o procmail via ports /usr/local/mail/procmail
voce deverá criar o .qmail-default do seu domínio virtual como este:
| preline procmail -p -m /usr/local/etc/procmailrc |
/usr/local/vpopmail/bin/vdelivermail '' bounce-no-mailbox
OBS: esta é uma única linha
e depois criar o arquivo /usr/local/etc/procmailrc como este:
###### Procmairc start ##########
#
# Uncomment these if you want to debug
VERBOSE=ON
LOGFILE=/tmp/procmail.log
# Find the users home directory and store in variable
VIRTUALHOME=`/usr/local/vpopmail/bin/vuserinfo -d $EXT@$HOST`
# Location of safecat
SAFECAT=/usr/local/bin/safecat
#Default
DEFAULT="|"
# Location of the users Maildir
MAILDIR=$VIRTUALHOME/Maildir
# Give each user a spamfolder where spam-tagged mail will be delivered.
SPAMDIR=$VIRTUALHOME/Maildir/.Spam
# Create spam folders
SPAM_CREATE=`/usr/local/vpopmail/bin/spam.sh $VIRTUALHOME`
# Finally we can let SpamAssassin check our mail.
#:0fw
# Uncoment this line if you do not have qmail-scanner with spamassassin
#| /usr/local/bin/spamassassin
# If the message is tagged as spam, put it in spamfolder
:0w
* ^X-Spam-Status: Yes
| $SAFECAT $MAILDIR/tmp $SPAMDIR/new
# If the message is considered clean, deliver as normal.
:0w ###### Procmairc end ##########
OBS: deve-se instalar o port /usr/ports/mail/safecat que faz o arquivo
de delivery em formato Maildir. Preste atenção no PATH, corrija para o
seu PATH correto (mesmo no shell script abaixo)
Crie o shell para criar o folder de spam
#!/bin/sh
if [ ! -d $1/Maildir/.Spam ]
then
/usr/local/bin/maildirmake $1/Maildir/.Spam
chown -R vpopmail.vchkpw $1/Maildir/.Spam
fi
Adicionei um debug no /tmp/procmail.log que pode ser comentado no
futuro para salvar espaço em disco, porém na instalação é útil.
O procmail irá gerar uma mensagem de erro:
procmail: Incomplete recipe
procmail: Assigning "LASTFOLDER=|"
Mas passará a mensagem para o vdelivermail, onde este fará o delivery
correto com ou sem bounce.
Qualquer dúvida estou à disposição.
Abraços,
--
Rodrigo Graeff
delphus em delphus.org
www.delphus.org
icq: 9636816
Public PGP Fingerprint
D28D A200 AFF0 D484 9F7A 2BB5 2E1B 30DF D472 D7D2
_______________________________________________________________
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
Mais detalhes sobre a lista de discussão freebsd