I installed batemail, and worked filtering files, but all the incoming email goes to the root mailbox. Whats going on?
I am not sure, but I followed the directions and it did the same thing to be as well. I dropped down one version to the 0.8.4 version and it works fine. It is either a bug in the .6 version or just something we are missing.
Thank you! I "down-graded" to batemail-0.8.4 and worked fine at first try!
Hmmm. Downgrading is not recommended. The reason being that the latest version of batemail fixed some severe security holes in 0.8.4... I'm trying to localize what the issue is. Did you just replace the batemail script, or did you alter how you changed the sendmail.cf as well?
The long version is I use Slackware 8.1, and only replaced:
A=batemail -Y -a $h -d $u
in the /etc/mail/sendmail.cf
with the .6 sends all incoming email to the root, and with the .4 works.
Is something wrong what I'm doing?
PD: Thanks you for your interest/time
I've submitted a bug report for this problem and will start work on it immediately. You can track it's progress and I'll probably post here once I find the solution.
Please upgrade to 0.8.6 immediately. This fixes the problem you had with procmail, and older versions have a nasty security hole.
Problem is in the fact that sendmail is sending a null argument. This argument gets lost when the procmail program is called. Since we previously used single quotes to delimit all arguments, this was not a problem. We will probably institute a fix in the next release. Here is a better sendmail A line for handling procmail. Also note that procmail can support the m mailer flag for multiple recipient delivery.
A=batemail -Y -a '$h' -d $u
Here we are just having sendmail place the single quotes in to ensure the host, if null, goes through the parameters strings just fine. If you aren't using the host, zap the -a $h flag completely.
I updated to 8.7, used the config:
A=batemail -Y -a '$h' -d $u
and everything worked fine!
Thanks to everyone who helped!
As a side note, the A line with '$h' was only a patch until 0.8.7 was released. 0.8.7 will work properly without the single quotes. It is theoretically possibly that using single quotes in such a way in sendmail could cause problems at a latter date should you forget to remove them when making changes to the lda. You might also research procmail for the use of the "m" flag and the side effects of using procmail with multiple recipients; as it can be useful to only call the mailer once for each message instead of once for each recipient. It depends mostly on what you do with procmail. I pesonally just use mail.local.
I've seen this problem myself with the default m4 files. I modified the procmail switches to make sure I was using -d $u. This may or may not fix it for you. What version of procmail are you running? I have only tested with the latest version personally, and my production box uses mail.local.
Log in to post a comment.