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@foo.com We also store aliases for them in LDAP like ben.morrow@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@foo.com were receiving vacation auto-replies as you'd expect in 1.2.15 Mails to ben.morrow@foo.com were not due to the infamous "discarding vacation response for message implicitly delivered to bmorrow@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@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@foo.com also get Postmaster replies. With 1.2.15 we were at least getting autoreplies from bmorrow@foo.com when a mail was sent to bmorrow@foo.com.
Stephan said xthread that this has now been fixed.
Ben