[Dovecot] lda deliver + vpopmail

Stéphane Cottin stephane.cottin at vixns.com
Thu Nov 19 09:14:53 EET 2009


Hi all,

I'm enjoying using dovecot deliver with qmail+vpopmail+dspam.
It works mostly fine, I like the indexing and sieve features with dovecot deliver.

I would like to get more details on trouble, the log entry is just :

"
2009-11-18_20:38:55.64778 delivery 50833: deferral:
"

As you see, there no reason for the deferral. How can I make deliver more verbose ?

I also have a vpopmail alias issue.
Because some domains (sadly) needs a catchall, and to keep using the useful vpopmail alias features, I'm using the following ugly script :

"
#!/bin/sh
email=`/usr/sbin/valias -- $1 2>/dev/null | cut -d" " -f3`
if [ -z "$email" ];then
        email=$1
        t=`/usr/sbin/vuserinfo -n -- $1 2>&1>/dev/null`
        t=$?
        if [ "$t" == "255" ];then
                domain=`echo "${1}" | cut -d'@' -f 2`
                dir=`/usr/sbin/vdominfo -d $domain 2> /dev/null| head -1`
                email=`cat ${dir}/.qmail-default | head -1 | awk -F# '{ print $2 }'`
                if [ "$email" == "bounce-no-mailbox" ];then
                        email=$1
                fi
        fi
fi
echo $email
"


my .qmail-default file contains  :

"
#bounce-no-mailbox
| /usr/bin/dspam --client --deliver=innocent,spam --user `/usr/sbin/vrealemails $EXT@$USER` --stdout | /usr/bin/preline -f /usr/lib/dovecot/deliver -d `/usr/sbin/vrealemails $EXT@$USER`
"

or if using a catchall :

"
#catchall at domain.com
| /usr/bin/dspam --client --deliver=innocent,spam --user `/usr/sbin/vrealemails $EXT@$USER` --stdout | /usr/bin/preline -f /usr/lib/dovecot/deliver -d `/usr/sbin/vrealemails $EXT@$USER`
"

I don't like this way for design and security reasons and would prefer a more consistent approach. The vpopmail alias lookup should be made internally by deliver, and unlike my script, handle one to many aliasing.

The catchall feature is (sadly) also needed, my implementation is ugly, in practice it works, but is limited as the catchall address must be on the same host.
I'm thinking about adding a specific option to the deliver command line, but I'm not sure that's the better way to do it.

Help needed please

Stéphane




More information about the dovecot mailing list