SpamAssassin and Postfix Not Communicating Among Each Other

Discussion in 'Installation/Configuration' started by kumarudai, Oct 29, 2013.

  1. kumarudai

    kumarudai New Member

    Dear All
    For sometime now I've been contemplating moving from my commercial software AntiSPAM filter to SpamAssassin. I've been working with Linux and FreeBSD for a couple of years, but I am totally new to SpamAssassin and Perl.

    I followed the instructions from this link to install on a Testbed RHEL 6.4 machine. Although the SpamAssassin installation was not quite smooth, I referred a couple of other documentation and figured out some Perl Modules are required and I installed them, they are listed below FYI.

    cpan>install Time::HiRes
    cpan>install NetAddr::IP
    cpan>install Archive::Tar
    cpan>install IO::Zlib
    cpan>install Mail::SPF
    cpan>install IP::Country
    cpan>install Razor2
    cpan>install Net::Ident
    cpan>install IO::Socket::INET6
    cpan>install IO::Socket::SSL
    cpan>install Compress::Zlib
    cpan>install Mail::DKIM
    cpan>install LWP::UserAgent
    cpan>install HTTP::Date module
    cpan>install Encode::Detect
    cpan>install Net::CIDR
    cpan>install Archive::Zip

    Now when I start "service MailScanner start", it starts smoothly without any errors, when I look at /var/log/maillog, I can see Postfix starting and MailScanner connecting to SpamAssassin. Frankly I haven't completely understood the way they work in tandem, but I think all incoming Emails are checked by Postfix and moved to "/var/spool/postfix/hold" through a statement "/^Received:/ HOLD" in "/etc/postfix/header_checks" and SpamAssassin picks it up from there through a statement "Incoming Queue Dir = /var/spool/postfix/hold" in /etc/MailScanner/MailScanner.conf.

    However it appears to me that SpamAssassin is not picking up Emails from there because when I enable the "/^Received:/ HOLD" statement, all new Emails are getting delivered to "/var/spool/postfix/hold" and they remain there and nothing happens. Its only when I uncomment that statement, new Emails starts getting delivered to the Exchange Server upstream. I am assuming SpamAssassin is not coming in play at all here and Postfix is the only thing that's working. The ones that are there in the "/var/spool/postfix/hold" continues to remain there even after the "/^Received:/ HOLD" statement is uncommented.

    Where do you think I am going wrong? Any help is welcome please.


  2. Mark_NL

    Mark_NL Member

    Spamassassin (SA) is just a bunch of perl files which can be used in a few ways.

    1. Daemon / Client combination (spamd / spamc)
    2. One shot command (spamassassin)
    3. Use SA's perl libs to include in your code (embed SA's functionality in your software, like amavis does)

    I read you run Mailscanner. Although that's a nice bundle of software/scripts put together, you're missing the whole inner works thus keeping SA/amavis a black box for you.

    What I always use is Postfix -> Amavis(->SA)

    I let postfix talk to amavis, and let amavis talk to SA. It's a breeze..

Share This Page