Design Check

Felix Ingram f.ingram at
Sun Oct 31 22:57:51 EET 2021

On Thu, 28 Oct 2021 at 08:29, Felix Ingram <f.ingram at> wrote:

> On Thu, 28 Oct 2021 at 00:15, <dovecot at> wrote:
>> [...]
> > I think my "creating users" was me wanting to make sure that when
>> > postfix
>> > passes an email for "barbaz at" to Dovecot, then Dovecot
>> will
>> > store it and wait for
>> > someone to come along and impersonate barbaz. i.e. "barbaz" doesn't
>> > have to exist as a user
>> > already before Dovecot will store the mail.
>> If you are using LMTP dovecot will only accept emails from postfix that
>> it can lookup the /directory/path to from one of the userdb{} or
>> passdb{} sections. If dovecot can not find a match in any of the
>> userdb{} or passdb{} it will reject the email as user unknown causing
>> postfix to send a undeliverable notice email back to the envelope sender
>> address, also known as back-scatter. I am not aware of a way to use
>> wildcard addresses in dovecot userdb{}, i don't think its possible but i
>> don't know what i don't know.
> So I think this will be the main issue now - there's no way of knowing the
> addresses ahead of time, so it sounds like I'll need to add them to
> userdb{} when they
> hit postfix and before they get passed to dovecot.

Just to close the loop on this - I managed to get this working using
postfix's virtual aliases. I use
a postgresql function in the alias lookup that transforms '
tester at' into
'foobar at' and at the same time inserts 'foobar at'
into the
Dovecot users table. I then have a separate passdb for master users that
can log in and
impersonate the foobar user.

So far this seems to work.

Thanks again to everyone for the help.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the dovecot mailing list