Hi,

I've been meaning to try dspam for a while but always have been
hesitant to try because of somewhat confusing documentation, but
finally I tried it today, and it seems to work, barely.

Before I have dspam, my mail server setup is running:

        smtp -> dkim-filter -> dovecot with sieve plugin (virtual user with 
psql)


By having dspam, I imagine, I would have it somewhat like this:

        smtp -> dkim-filter -> dspam -> dovecot with sieve plugin


Before I talk about my problems, let me show my configurations:
The server itself is running on:
        - Ubuntu 8.04 LTS
        - Dspam 3.6.8 installed via Ubuntu repo
        - Postfix 2.5.1
        - Dovecot 1.0.10
        - dkim-filter 2.5.4

in /etc/dspam/dspam.conf, I have:
        StorageDriver /usr/lib/dspam/libpgsql_drv.so
        TrustedDeliveryAgent "/usr/lib/dovecot/deliver -f ${sender} -d
${recipient}"
        UntrustedDeliveryAgent "/usr/lib/dovecot/deliver -f ${sender}
-d ${recipient}"
        DeliveryHost        127.0.0.1
        DeliveryPort        10026
        DeliveryIdent       localhost
        DeliveryProto       SMTP
        OnFail error
        Trust root
        Trust dspam
        Trust vmail
        Trust postfix
        Trust dovecot
        TrainingMode teft
        TestConditionalTraining on
        Feature chained
        Feature whitelist
        Algorithm graham burton
        PValue graham
        SupressWebStats on
        Preference "spamAction=tag"
        Preference "signatureLocation=headers"  # 'message' or 'headers'
        Preference "showFactors=off"
        Preference "spamSubject=[SPAM]"
        ServerMode auto
        ServerParameters        "--deliver=innocent"
        ServerIdent             "localhost.localdomain"
        ServerDomainSocketPath  "/var/spool/postfix/var/run/dspam.sock"

in /etc/dspam/dspam.d/pgsql.conf, I have:
        PgSQLServer     127.0.0.1
        #PgSQLPort       5432
        PgSQLUser      ...
        PgSQLPass      ...
        PgSQLDb        ...
        PgSQLUIDInSignature     on
        PgSQLVirtualTable          dspam_virtual_uids
        PgSQLVirtualUIDField       uid
        PgSQLVirtualUsernameField  username

with this setup, dspam is running fine.

Then, I hooked it up to Postfix by having these...

master.cf:
        smtp      inet  n       -       -       -       -       smtpd
                -o content_filter=lmtp:unix:/var/run/dspam.sock
        
        [..... and right before the dovecot line, I have:]
        
        dspam                 unix    -       n       n       -       -    pipe
                flags=Ru user=dspam argv=/usr/bin/dspam
                --client
                --deliver=innocent,spam
                --user ${recipient}
                --mail-from=${sender}
        localhost:10026 inet  n -       n       -       -        smtpd
                -o content_filter=
                -o
receive_override_options=no_unknown_recipient_checks,no_header_body_checks
                -o smtpd_helo_restrictions=
                -o smtpd_client_restrictions=
                -o smtpd_sender_restrictions=
                -o smtpd_recipient_restrictions=permit_mynetworks,reject
                -o mynetworks=127.0.0.0/8
                -o smtpd_authorized_xforward_hosts=127.0.0.0/8
        dspam-retrain   unix    -       n       n       -       10      pipe
                flags=Rhq user=dspam argv=/usr/bin/dspamc --client --mode=teft
--class=${nexthop} --source=error --u                ser ${sender}

some additions to main.cf:
        virtual_mailbox_maps =
pgsql:/etc/postfix/pgsql/virtual_mailbox_maps.cf
hash:/etc/postfix/dspam_aliases
        transport_maps = hash:/etc/postfix/transport
        dspam_destination_recipient_limit = 1

        smtpd_recipient_restrictions =
                permit_mynetworks,
                permit_sasl_authenticated,
                reject_non_fqdn_hostname,
                reject_non_fqdn_recipient,
                reject_unauth_destination,
                reject_rbl_client zen.spamhaus.org,
                check_recipient_access pcre:/etc/postfix/dspam_filter_access
                permit

my /etc/postfix/dspam_aliases:
        s...@mydomain.com x
        nos...@mydomain.com   x

my /etc/postfix/transport:
        s...@mydomain.com  dspam-retrain:spam
        nos...@mydomain.com   dspam-retrain:innocent

my /etc/postfix/dspam_filter_access:
        /./ FILTER dspam:dspam


Again, with these setups, both dspam and postfix can run, but not
without its problems. Hence, my questions :)

1. Whenever there's an incoming mail, I think I perceive it as mail
being transferred to smtp, gets redirected to dspam, then reinjected
to smtp, then dovecot for delivery.  my /var/log/mail.log looks like
this:

        Aug 25 15:22:59 myhostname postfix/smtpd[24554]: connect from
web55008.mail.re4.yahoo.com[206.190.58.142]
        Aug 25 15:23:03 myhostname postfix/smtpd[24554]: NOQUEUE: filter:
RCPT from web55008.mail.re4.yahoo.com[206.190.58.142]:
<rez...@mydomain.com>: Recipient address triggers FILTER dspam:dspam;
                        from=<rez...@yahoo.com> to=<rez...@mydomain.com> 
proto=SMTP
helo=<web55008.mail.re4.yahoo.com>
        Aug 25 15:23:03 myhostname postfix/smtpd[24554]: 4923E11C368:
client=web55008.mail.re4.yahoo.com[206.190.58.142]
        Aug 25 15:23:05 myhostname postfix/cleanup[24568]: 4923E11C368:
message-id=<420173.20101...@web55008.mail.re4.yahoo.com>
        Aug 25 15:23:05 myhostname dkim-filter[22819]: 4923E11C368 external
host web55008.mail.re4.yahoo.com attempted to send as yahoo.com
        Aug 25 15:23:06 myhostname dkim-filter[22819]: 4923E11C368: bad 
signature data
        Aug 25 15:23:06 myhostname postfix/qmgr[24572]: 4923E11C368:
from=<rez...@yahoo.com>, size=1908, nrcpt=1 (queue active)
        Aug 25 15:23:07 myhostname postfix/smtpd[24554]: disconnect from
web55008.mail.re4.yahoo.com[206.190.58.142]
        Aug 25 15:23:08 myhostname postfix/smtpd[24579]: connect from
myhostname.mydomain.com[127.0.0.1]
        Aug 25 15:23:08 myhostname postfix/smtpd[24579]: 566A011C3A4:
client=myhostname.mydomain.com[127.0.0.1]
        Aug 25 15:23:08 myhostname postfix/cleanup[24568]: 566A011C3A4:
message-id=<420173.20101...@web55008.mail.re4.yahoo.com>
        Aug 25 15:23:08 myhostname postfix/qmgr[24572]: 566A011C3A4:
from=<rez...@yahoo.com>, size=2381, nrcpt=1 (queue active)
        Aug 25 15:23:08 myhostname postfix/smtpd[24579]: disconnect from
myhostname.mydomain.com[127.0.0.1]
        Aug 25 15:23:08 myhostname postfix/pipe[24573]: 4923E11C368:
to=<rez...@mydomain.com>, relay=dspam, delay=6.9,
delays=5.3/0.01/0/1.6, dsn=2.0.0, status=sent (delivered via dspam
service)
        Aug 25 15:23:08 myhostname postfix/qmgr[24572]: 4923E11C368: removed
        Aug 25 15:23:08 myhostname postfix/pipe[24581]: 566A011C3A4:
to=<rez...@mydomain.com>, relay=dovecot, delay=0.35,
delays=0.15/0.01/0/0.19, dsn=2.0.0, status=sent (delivered via dovecot
service)
        Aug 25 15:23:08 myhostname postfix/qmgr[24572]: 566A011C3A4: removed

So it looks like the incoming mail is received a few times.. Is this
normal? Would this cause a "bottleneck" when there are lots of
incoming mail at the same time? Do you guys have any better solution?

2. I still can't seem to get dspam-retrain to work whenever I forward
an uncaught spam message to s...@mydomain.com.  When I forward the
message, I would get:
        
        Aug 25 16:31:25 myhostname postfix/qmgr[24572]: E13E511C3A4:
from=<rez...@mydomain.com>, size=2854, nrcpt=1 (queue active)
        Aug 25 16:31:25 myhostname dspam[24476]: Unable to find a valid
signature. Aborting.
        Aug 25 16:31:25 myhostname dspam[24476]: process_message returned
error -5.  dropping message.
        Aug 25 16:31:25 myhostname postfix/lmtp[26099]: E13E511C3A4:
to=<s...@mydomain.com>,
relay=myhostname.mydomain.com[/var/run/dspam.sock], delay=1,
delays=0.92/0.01/0/0.08, dsn=2.6.0, status=sent (250 2.6.0
                        <s...@mydomain.com> Message accepted for delivery)

But, when I looked at the header of the message I was forwarding, it
had a "X-DSPAM-Signature". But why didn't it see it as a valid
signature?

3. The last thing I notice is, whenever there's a warning or error
(like the message above, or if there's a ehlo required error), dspam
would spit something like this on stdout:

        WARNING:  nonstandard use of \\ in a string literal
       LINE 1: ... '2,4c74dee8244761101518019', 3492, CURRENT_DATE,
'\\000\\00...
                                                              ^
        HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.

I assume it was caused by the pgsql_objects.sql but I have no idea how
to fix them.

I hope I gave enough information on where I'm having problems with,
and I really appreciate your help to assist me to sort out my
problems.

Thank you,
Reza

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users 
worldwide. Take advantage of special opportunities to increase revenue and 
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
Dspam-user mailing list
Dspam-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspam-user

Reply via email to