When I upgraded my old, long running dovecot 1.1 to newer dovecot-1.2.4 + doevecot-sieve- 0.1.12 I observed a change in destination address (-a) parsing.
Old behaviour: When Timo introduced this feature (http://www.dovecot.org/list/dovecot/2007-September/025813.html) it was possible to hand over only the detail part. In my sendmail configuration I used "-a +$h", where $h contains the detail part and may be empty. By default sendmail can call the delivery agent with the following information: $u: The recipient user (always set) $h: Detail part, may be empty $g: The sender address (relative to the recipient).
New behaviour: The current sieve version needs a complete address with local- and domain-part. Otherwise we get a warning like deliver(user): sieve: envelope recipient address 'user' is unparseable.
The problem is, that the domain part is not always available, e.g. for local delivered emails. This is the main problem, although the setup could be simplified if deliver would accept the old syntax. I'm going to make modifications to sendmail to be able to have all address information available, but this will not solve the problem with missing domain.
Now comes my question: Is it better to enhance the address parsing in sieve plugin or should I use a wrapper around deliver? The latter is not very difficult, but introduces an additional process (that may fail).
Regards, Frank
-- Frank Behrens, Osterwieck, Germany PGP-key 0x5B7C47ED on public servers available.