[Dovecot] Vacation messages come from POSTMASTER, not user

Ben Morrow ben at morrow.me.uk
Tue Nov 27 00:14:59 EET 2012


At  6PM +0000 on 26/11/12 you (cfowler) wrote:
> On 26-11-2012 17:59, Ben Morrow wrote:
> > At  5PM +0000 on 26/11/12 you (cfowler) wrote:
> >> Problem : All vacation autoreplies come from the postmaster address.
> >> Expected behavior : vacation notice comes from the user who set the
> >> vacation.
> >> Platform : Dovecot 2.1.7 on Debian Squeeze ( See below for example
> >> reply, sieve script and dovecot -n output)
> > <snip>
> >
> >>    sieve_vacation_dont_check_recipient = yes
> >
> > Why have you set this? Normally vacation will refuse to respond to a
> > message which doesn't have your address in one of the recipient
> > header fields; in fact the standard says that it MUST NOT respond
> > unless this is the case.

(Stephan has explained that I am wrong here: that's what comes from
reading the code rather than running it...)

> This feature is the reason I've upgraded to 2.1.7 from 1.2.15
> 
> Our users have addresses like bmorrow at foo.com
> We also store aliases for them in LDAP like ben.morrow at foo.com. Postfix 
> knows of these aliases and accepts mail for them. Most of our users 
> prefer to hand out this alias as their email address
> 
> Mails to bmorrow at foo.com were receiving vacation auto-replies as you'd 
> expect in 1.2.15
> Mails to ben.morrow at foo.com were not due to the infamous "discarding 
> vacation response for message implicitly delivered to bmorrow at foo.com" 
> message.
> 
> I know the correct behavior is for the users to write a correct sieve 
> script with an addresses: line, but that's not going to happen 
> unfortunately. The users just want "Push button to make vacation go".

I see... this is a little tricky, yes, and I think you're right this is
the only straightforward solution at the moment. You do want to be a
little careful about enabling this, though: the restriction is there in
the standard to prevent automated replies from being sent for messages
to mailing lists and group aliases and such, where the sender does not
(and should not) know the list of final delivery addresses, and
certainly doesn't want vacation replies from all of them. Since most
mailing lists now set the List-* headers (which prevent vacation replies
anyway), they should be OK, so this is probably only a problem if you
use internal aliases which expand to lists of users.

Ideally pigeonhole would take advantage of this paragraph in the
standard

    An email address is considered to belong to the recipient if it is
    one of:

       1.  an email address known by the implementation to be associated
           with the recipient,

and allow you to specify a dict in which to lookup a default :addresses
list for each recipient. That way you could turn this parameter back
off, but instead give Dovecot the information it needs to determine that
a message To: <ben.morrow at foo.com> was in fact directly addressed to
this user. I wonder how difficult that would be...

> > If you send a message with the user's email address in To:, do you 
> > get a
> > vacation response From: the correct address?
> >
> 
> No, mails to bmorrow at foo.com also get Postmaster replies.
> With 1.2.15 we were at least getting autoreplies from bmorrow at foo.com 
> when a mail was sent to bmorrow at foo.com.

Stephan said xthread that this has now been fixed.

Ben



More information about the dovecot mailing list