antispam plugin, pipe backend, how to make it work?
J. Echter
j.echter at echter-kuechen-elektro.de
Tue Apr 12 18:22:04 UTC 2016
dovecot 2.2.10
Am 12.04.2016 um 20:18 schrieb J. Echter:
> Hi,
>
> here (Centos 7) its already integrated...
>
> Just add something like this:
>
> plugin {
>
>
> antispam_mail_sendmail = /usr/bin/sa-learn
> antispam_mail_sendmail_args = -u amavis
> antispam_mail_spam = --spam
> antispam_mail_notspam = --ham
> }
>
> to dovecot.conf
>
> Cheers
>
> Jürgen
>
> Am 12.04.2016 um 20:14 schrieb Johannes Rohr:
>> Hi, my setup is a dovecot 2.0.19 IMAP server on Ubuntu Precise with
>> the antispam plugin in version 2.0+20120225-2 and spamassassin at
>> version 3.2.2
>>
>> I have been trying and failed to get the pipe backend of the antispam
>> plugin to work. Spamassin by itself works, a manual call of sa-learn
>> works fine. Bayes data is stored in a mysql DB.
>>
>> I have the following configuration in /etc/dovecot/conf.d/90-plugin.conf
>>
>> plugin {
>> #setting_name = value
>> sieve=~/.dovecot.sieve
>> sieve_dir=~/sieve
>> antispam_pipe_program_spam_arg = --spam
>> antispam_pipe_program_notspam_arg = --ham
>> antispam_pipe_program = /usr/local/bin/sa-learn-pipe.sh
>> antispam_pipe_program_args = --username=%u # % expansion done by
>> dovecot
>> antispam_trash = trash;Trash;Deleted Items;Deleted Messages
>> antispam_spam = SPAM;Junk
>> antispam_backend = pipe
>> antispam_verbose_debug = 1
>> antispam_debug_target = syslog
>> antispam_pipe_tmpdir = /tmp
>> }
>>
>> I have tried the following wrapper script:
>> #!/bin/bash
>> # set -x
>> LOGFILE=/tmp/sa-learn-pipe.log
>> echo "$$-start ($*)" >> $LOGFILE
>> #echo $* > /tmp/sendmail-parms.txt
>> cat<&0 >> /tmp/sendmail-msg-$$.txt
>> /usr/bin/sa-learn $* -D /tmp/sendmail-msg-$$.txt >> $LOGFILE 2>&1 && \
>> rm -f /tmp/sendmail-msg-$$.txt
>> echo "$$-end" >> $LOGFILE
>> exit 0
>>
>> It somehow isn't working. I can call the wrapper script manually e.g.
>> sudo -u vmail /usr/local/bin/sa-learn-pipe.sh --username=some at mail.user
>> --ham \
>> < someham
>>
>> But it doesn't work from dovecot. It seems the script is called. but no
>> new patterns show up in the bayes DB. Unfortunately, the plugin seems to
>> be documented poorly. How does it call the programme it pipes to? Is it
>> something like $programme --par1 --par2 < message ? Why can't /
>> shouldn't I call sa-learn directly? All the instructions I found on the
>> in internet contained a wrapper script, but none bothered to explain why
>> you would actually need it.
>>
>> I would be very grateful, if someone could enlighten me on that...
>>
>> Cheers,
>>
>> Johannes
More information about the dovecot
mailing list