Dino Tsoumakis wrote:

Everything works fine, even forwards (alias).
But if you mark the account as remote catch-all (normal catch-all disables
.qmail processing), all other addresses (except pop accounts and forwards)
are bounced back because VHOME in mailfilter is not specified and the
default VPOP says (... bounce-no-mailbox").
BTW the .qmail-default file contains "| /www/vpopmail/bin/vdelivermail ''
thisaccount(at)domain.xy".
Has anyone solved this?
> How do I use the spam protection feature of
> qmailadmin 1.0.23 at a catch-all account with one single mailfilter
> file for all domains?

The next vpopmail should include a patch that fixes this issue. The problem is that the $EXT is not being set to the final destination.

So, I think it should not be possible to select an account as catch-all if
spam protection is enabled. Or there should be a warning message at least.
Perhaps it would be possible to do a work-around by reading the
.qmail-default file for VPOP in mailfilter.

There is a fix to vpopmail coming in the next release that will allow the default delivery to a Maildir to process the .qmail file. So the next stable release will not have this issue.


My workaround is to avoid using $EXT and $HOST. Since the .qmail file being processed is in the directory of the user and the domain, I pick apart the current path in my mailfilter:

USERNAME=`echo ${PWD##*/}`
USERHOST=`PWDTMP=${PWD%/*}; echo ${PWDTMP##*/}`

There is no need to check if the directory exists, you are in the directory already, so there is no need to send it back through vdelivermail ever. Here is my complete mailfilter script:

--- cut here ---
VMAILDIR="$PWD/Maildir/"
USERNAME=`echo ${PWD##*/}`
USERHOST=`PWDTMP=${PWD%/*}; echo ${PWDTMP##*/}`

SPAMFOLDER=".Bulk/"

# run through SpamAssassin (if less than the specified size)
if ( $SIZE < 262144 )
{
   exception {
      xfilter "/usr/bin/spamc -f -u [EMAIL PROTECTED]"
   }
}

if (/^X-Spam-Flag: *Yes/)
{
   # try to deliver to the spam folder
   exception {
      to"$VMAILDIR$SPAMFOLDER"
   }
}

# process user's rules
exception {
   include $VMAILDIR/.mailfilter
}

# if it falls through to here, just put it in their inbox
to "$VMAILDIR"
--- cut here ---


Jeff





Reply via email to