Hi,
I am using Dovecot LDA as LMTP renders envelope extension unusable.
The problem I have noticed is that when user has multiple aliases sieve responds to all of them, not only to :addresses specified.
From testing it seems that :addresses only adds addresses to the list of "known" emails to check against. It is not limiting it.
As I understand, sieve should check if To: header is consistent with addresses known to be users. But how Dovecot knows about aliases assigned to the user?
From my testing if header To: address is consistent with envelope To: address the reply is fired. I have sieve_vacation_use_original_recipient left at it's default value (no), so that shouldn't be the case. Now if user address@example.com has alias alias@example.com specified, the vacation reply will be sent to email addressed to alias@example.com, which is weird, because this behavior should be enabled by switching sieve_vacation_use_original_recipient to yes.
When user receives an email that was originally sent to his gmail account (forwarded) there is no reply. If I add gmail address to :addresses reply is generated as expected.
So my main question is if this is expected? I would like to enable only delivery to primary address and to + extensions to that address by default.
I think that it might be that Postfix is expanding aliases and passing the final recipient (as to=<XXX>) to dovecot. Then dovecot is using that address to check for explicit delivery, but something fails, as this address is obviously not in To: header. So it looks like orig_to has to be used as well which should be disabled by sieve_vacation_use_original_recipient?
My address is: karol@augustin.pl, alias is: carol@augustin.pl
Mar 2 12:37:32 mail dovecot: lda(karol@augustin.pl): sieve: msgid=3ba0578a5f6b170e942b5bac1b19be36@posteo.net: sent vacation response to sender@example.com Mar 2 12:37:32 mail postfix/qmgr[4744]: 3zt82h4CG4z2xlw: from=<>, size=732, nrcpt=1 (queue active) Mar 2 12:37:32 mail dovecot: lda(karol@augustin.pl): sieve: msgid=3ba0578a5f6b170e942b5bac1b19be36@posteo.net: stored mail into mailbox 'INBOX' Mar 2 12:37:32 mail postfix/pipe[8793]: 3zt82f3x4xz2xmw: to=karol@augustin.pl, orig_to=carol@augustin.pl, relay=dovecot, delay=2.2, delays=2.2/0/0/0.06, dsn=2.0.0, status=sent (delivered via dovecot service)
Forward from from gmail:
Mar 2 11:38:19 mail postfix/qmgr[4744]: 3zt6kL1yF7z2xgg: from=karolaug+caf_=karol=augustin.pl@gmail.com, size=5831, nrcpt=1 (queue active) Mar 2 11:38:19 mail dovecot: lda(karol@augustin.pl): sieve: msgid=e610a47934f9aabb31f833c025075cff@posteo.net: discarding vacation response for implicitly delivered message; no known (envelope) recipient address found in message headers (recipient=karol@augustin.pl, and additional `:addresses' are specified) Mar 2 11:38:19 mail dovecot: lda(karol@augustin.pl): sieve: msgid=e610a47934f9aabb31f833c025075cff@posteo.net: stored mail into mailbox 'INBOX' Mar 2 11:38:19 mail postfix/pipe[5362]: 3zt6kL1yF7z2xgg: to=karol@augustin.pl, relay=dovecot, delay=1.3, delays=1.2/0/0/0.05, dsn=2.0.0, status=sent (delivered via dovecot service)
from my master.cf: dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -a ${original_recipient} -d ${user}@${nexthop}
Thanks, Karol
-- Karol Augustin karol@augustin.pl http://karolaugustin.pl/ +353 85 775 5312