Spamassassin og Postfix

From: Jette Nielsen (none@jni--omnix.dk.lh.bsd-dk.dk)
Date: Tue 17 May 2005 - 23:10:36 CEST


From: "Jette Nielsen" <none@jni--omnix.dk.lh.bsd-dk.dk>
To: <none@bsd-dk--bsd-dk.dk.lh.bsd-dk.dk>
Subject: Spamassassin og Postfix
Date: Tue, 17 May 2005 23:10:36 +0200

Jeg har her i weekenden installeret Spamassassin og integreret den med Postfix. Jeg fik imidlertid det problem, at mail loopede mellem sendmail og Postfix så snart jeg slog spamfilteret til. Jeg løste dette ved at rette /etc/mail/mailer.conf:

----------------------------------------------------------
# $FreeBSD: src/etc/mail/mailer.conf,v 1.3 2002/04/05 04:25:12 gshapiro Exp
$
#
# Execute the "real" sendmail program, named /usr/libexec/sendmail/sendmail
#
#sendmail /usr/libexec/sendmail/sendmail
#send-mail /usr/libexec/sendmail/sendmail
#mailq /usr/libexec/sendmail/sendmail
#newaliases /usr/libexec/sendmail/sendmail
#hoststat /usr/libexec/sendmail/sendmail
#purgestat /usr/libexec/sendmail/sendmail

# Execute Postfix sendmail wrapper instread of "real" sendmail
#
sendmail /usr/sbin/sendmail
send-mail /usr/sbin/sendmail
mailq /usr/sbin/sendmail
newaliases /usr/sbin/sendmail
hoststat /usr/sbin/sendmail
purgestat /usr/sbin/sendmail
-------------------------------------------------------------

... og så skulle man jo tro mine trængsler var ovre, men jeg modtager stadig ikke min post. Nu hænger processerne når en mail modtages. Jeg kan se i loggen at mail modtages og pipes til Spamassassin som også kigger mail igennem og giver point. Men mailen kommer aldrig tilbage til Postfix.

Som det ses herunder, står sendmail processen bare og kører i en uendelighed....

------------------------------------------------------------------------------------------
ps -ax
 PID TT STAT TIME COMMAND
 7955 ?? I 0:00.03 smtpd -n smtp -t inet -u -o
content_filter=filter:dummy
 7956 ?? I 0:00.01 anvil -l -t unix -u
 7957 ?? S 0:00.02 trivial-rewrite -n rewrite -t unix -u
 7958 ?? I 0:00.02 cleanup -z -t unix -u
 7959 ?? I 0:00.01 pipe -n filter -t unix flags=Rq user=filter
argv=/usr/local/sbin/filter.sh -f ${sender} -- ${recipient}
 7960 ?? Is 0:00.00 /bin/sh /usr/local/sbin/filter.sh -f
jni@omnix.dk -- jni@nerdgirl.dk
 7962 ?? R 0:27.13 /usr/sbin/sendmail -i -f jni@omnix.dk --
jni@nerdgirl.dk (mailwrapper)
--------------------------------------------------------------------------------------------

Postfix piper mail til spamassassin som markerer spam og giver mailen tilbage til Postfix:

#!/bin/sh
# /usr/local/sbin/filter.sh
/usr/local/bin/spamc -u "$4" | /usr/sbin/sendmail -i "$@"
exit $?

-u "$4" giver Spamassassin modtagerens email adresse, som slås op i databasen hvor brugerens spamassassin settings ligger.. det fungerer glimragende.. men sendmail funktionen sender ikke mailen tilbage til Postfix.

Jeg er på ingen måde Postfix ekspert, så der er muligvis noget indlysende jeg overser... og jeg ved ikke med bestemthed om det er Spamassassin der ikke gider aflevere mail eller om det er sendmail.... Jeg kan fortælle så meget som at hvis -u "$4" fjernes, bliver emailen leveret... men så bliver brugerens settings naturligvis ikke benyttet...

Nogen der har en idé?

/Jette

-- 
www.thecamp.dk 
Open source sommerlejr, uge 29 2005



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:50 CET