I use qmail on a shared account on a server. I have a
slightly complicated configuration to filter spam. I basically had my
.qmail file set to pipe all mail to .procmail, which in turn used
.procmailrc, which was set to run mail
through my spam filter program (bspam, a little-known c program that
does bayesian filtering very well), then to use the headers
bspam adds to the file to either append the mail to my Mailbox file,
or to my mail/Spam file.
It's complicated, but it was working for a good year or two until last week.
I was routinely changing a lot of privileges in my account, mostly
just making sure most things were world-readable,
but also making sure a few things were not. For the next day and a
half, I couldn't receive mail.
I figured out that the problem was that my .qmail file was
world-readable, which causes qmail to ignore it and just use its
defaults. Changing the privileges to make it not world readable
worked, and this was confirmed by several trials I did while switching
priveleges back and forth. Now mail would be appended just
fine to my Mailbox file. Only problem is, several headers are missing
from all of the emails!
To see if qmail or procmail was doing the truncating, I temporarily
changed my .qmail file to just append mail to a blank textfile,
without going through procmail. Sure enough, the textfile showed mail
with missing headers.
I might think this was a problem with qmail's settings on the server,
but the sysadmins swear nothing has changed on their end, and it's
pretty clear to me that the problem was caused exactly when I changed
some privileges. If I make .qmail blank, qmail ignores it and writes
mail directly to my Mailbox (the default setting for qmail on the
system) and all of the headers are there; but if I pipe from .qmail to
a file, including Mailbox, I get mail with missing headers.
Here is a normal example of what .qmail is giving me now:
======================= BEGIN MY SAMPLE FILE ====================
Received: (qmail 19041 invoked by uid 457); 22 Apr 2005 20:55:49 -0000
Delivered-To: amphongroup.net-brw12@amphiongroup.net
Received: (qmail 19035 invoked from network); 22 Apr 2005 20:55:47 -0000
Received: from unknown (HELO casbah.it.northwestern.edu) (129.105.16.52)
by mech.phpwebhosting.com with SMTP; 22 Apr 2005 20:55:47 -0000
Received: (from mailnull@localhost)
by casbah.it.northwestern.edu (8.12.10/8.12.10) id j3MKtiLY011925
for <brw12@amphongroup.net>; Fri, 22 Apr 2005 15:55:44 -0500 (CDT)
Received: from [165.124.28.37]
(coconut-17-028037.nuts.northwestern.edu [165.124.28.37]) by
casbah.it.northwestern.edu via smap (V2.0)
id xma011641; Fri, 22 Apr 05 15:55:39 -0500
Message-ID: <426964BC.4020603@law.northwetern.edu>
Date: Fri, 22 Apr 2005 15:55:24 -0500
From: Ashran Jen <a-jen005@law.northwestern.edu>
User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: =?UTF-8?B?IsKhYmVuLndoZWVsZXLCoSI=?= <brw12@amphongroup.net>
Subject: Re: test email me
etc. etc. content here
======================= END MY SAMPLE FILE ====================
compare the first few lines to this recently-received, properly-handled
email (when i deleted my .qmail file):
======================= BEGIN MY 2nd SAMPLE FILE ====================
From columbiauranexperience@hotmail.com Fri Apr 22 20:58:28 2005
Return-Path: <columbiauranexperience@hotmail.com>
Delivered-To: brw12@meh.phpwebhosting.com
Received: (qmail 20268 invoked from network); 22 Apr 2005 20:58:28 -0000
Received: from unknown (HELO tepin.cc.columbia.edu) (128.59.28.169)
by mech.phpwebhosting.com with SMTP; 22 Apr 2005 20:58:28 -0000
Received: from mail4.evite.com (mail4.evite.com [209.104.61.27])
by tepin.cc.columbia.edu (8.13.0/8.13.0) with ESMTP id
j3MKwSd9005750
for <brw12@coumbia.edu>; Fri, 22 Apr 2005 16:58:28 -0400 (EDT)
Received: from www1.evte.com (www5.evite.com [209.104.61.105])
by mail4.evie.com (8.12.10/8.12.10) with SMTP id j3MKwRW9012506
for <brw12@coumbia.edu>; Fri, 22 Apr 2005 13:58:27 -0700
Message-Id: <200504222058.j3MKwRW9012506@mal4.evite.com>
X-Sender: info@evit.com
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Fri, 22 Apr 2005 20:57:17 -0700
To: brw12@coumbia.edu
From: "Columbia Urban Experience (CUE)" <info@evite.com>
Reply-To: "Columbia Urban Experience (CUE)"
<columbiaurnexperience@hotmail.co\
m>
Subject: CUE Alumni Dinner
X-Scanned-By: MIMEDefang 2.48 on 128.59.28.169
X-Scanned-By: MIMEDefang 2.39
X-Spam-Score: 4.586 (****) BLANK_LINES_80_90 CU_TAGGED_LINK
DATE_IN_FUTURE_06_1\
2 CU_MISMATCHED_SENDER
Status: O
X-Status:
X-Keywords:
etc. etc.
======================= END MY 2nd SAMPLE FILE ====================
Those three lines:
From <whoever>
Return-Path: <whatever>
Delivered-To: brw12@meh.phpwebhosting.com
are missing, so pine, my mail client, doesn't count the messages as existing!
why on earth might THAT be happening!?
A sufficient answer will:
* let me fix the problem
* make me understand what the cause of the problem is
* or, alternatively, show me another way I can set up mail filtering
with qmail to still use my preferred external spam filter, which
receives a mail in stin and returns the amended mail with extra
headers in stout. |