On Wednesday 15 October 2003 10:57, russ wrote:
> On Wed, 2003-10-15 at 10:24, Jesse Guardiani wrote:
> > On Tuesday 14 October 2003 21:13, russ wrote:
> > > On Tue, 2003-10-14 at 21:05, [EMAIL PROTECTED] wrote:
> > > > qmail installes a sendmail wrapper... my sqwebmail sendit script
> > > > calls the qmail supplied sendmail wrapper with no problems.
> > > >
> > > > Look for it in your qmail/bin
> > >
> > > Yes, sqwebmail works fine for me too, it just won't pipe mail through
> > > qmail-scanner the right way, so I have no virus protection and can't
> > > stop certain file extentions from getting through.  Normally that might
> > > not even be an issue since it only happens when it goes to mail
> > > accounts on the same machine, but this is being set up at a school for
> > > the students.  Not blocking certain extentions will be suicide for me.
> > > :)
> >
> > I think the problem is that you don't understand how qmail-scanner is
> > executed.
> >
> > In order for qmail-scanner to run, the QMAILQUEUE environment variable
> > has to be set to the location of qmail-scanner-queue.pl, which is
> > usually:
> >
> >     /var/qmail/bin/qmail-scanner-queue.pl
> >
> > Normally, this is done via tcpserver, and usually with this configuration
> > file:
> >
> >     /etc/tcp.smtp
> >
> > However, when you run the `sendmail` command from a shell script like
> > sendit.sh, you don't invoke tcpserver, and thus tcpserver never gets the
> > chance to set the QMAILQUEUE environment variable.
> >
> > If you WANT to set the QMAILQUEUE environment variable so that the
> > QMAILQUEUE patch will run qmail-scanner before running qmail-queue, then
> > you generally have two options:
> >
> >     1.) Set QMAILQUEUE in qmail-smtpd's run script, which is usually
> > located here:
> >
> >         /var/qmail/supervise/qmail-smtpd/run
> >
> >         This should assure that qmail-scanner is run for EVERY email sent
> >         through qmail.
> >
> >     2.) Set QMAILQUEUE from sqwebmail's sendit.sh file, located here:
> >
> >         /usr/local/share/sqwebmail/sendit.sh
> >
> >         This will only run qmail-scanner for sqwebmail's outgoing mail.
> >
> > Both of the above file are /bin/sh scripts, so placing the following at
> > the top of either file aught to work:
> >
> > QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
> > export QMAILQUEUE
> >
> > Hope that helps.
>
> Thanks for your answer,  I do understand how that works, maybe I am not
> being clear with my question.  I CAN get sqwebmail to pipe through
> qmail-scanner, however, it does not carry the "From" or "Recipient"
> fields into qmail-scanner. Since those fields are blank, qmail-scanner
> just drops the message out.  Then it goes to qmail-queue with the -f
> "$1" switch (which is were it picks up the From: and Recipient: fields)
> and sends the e-mail.

That doesn't really make much sense. The `sendmail` command should automatically
add the From header for you if you're using the -f flag (which the default
sendit.sh does), and qmail-scanner shouldn't NEED to check any Recipient headers.
Recips are provided via a file descriptor to qmail-queue programs. And AFAIK it's
perfectly legal for an incoming message to lack a Recipient: header.

Try replacing the contents of sendit.sh with this, and see if it works:

#!/bin/sh

QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE
QMAILUSER="$1"
export QMAILUSER

exec /var/qmail/bin/qmail-inject -hf "$1" 


-- 
Jesse Guardiani, Systems Administrator
WingNET Internet Services,
P.O. Box 2605 // Cleveland, TN 37320-2605
423-559-LINK (v)  423-559-5145 (f)
http://www.wingnet.net



Reply via email to