<div dir="ltr"><div dir="ltr">On Thu, 28 Oct 2021 at 00:15, <<a href="mailto:dovecot@ptld.com">dovecot@ptld.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> I think your approach would work, however, if I set<br>
> up aliases similar to:<br>
> <br>
> @<a href="http://barbaz.mydomain.com" rel="noreferrer" target="_blank">barbaz.mydomain.com</a> -> <a href="mailto:barbaz@mydomain.com" target="_blank">barbaz@mydomain.com</a>.<br>
> <br>
> I believe I can do that in postfix with some regex magic.<br>
<br>
Yes, that would work perfectly without any regex.<br>
You just point the catchall alias to the "user".<br>
@<a href="http://barbaz.mydomain.com" rel="noreferrer" target="_blank">barbaz.mydomain.com</a> -> <a href="mailto:barbaz@mydomain.com" target="_blank">barbaz@mydomain.com</a><br>
<br></blockquote><div><br></div><div>I've managed to get this working in postfix - I needed the regex rather than </div><div>a static map, as I need to extract the unknown subdomain portion but it seems</div><div>to be working. I have been able to get postfix to save it to a file as well and it seems</div><div>to work as I expected.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">[..]<br>
> The purpose of the system is that users can create disposable/temporary <br>
> email addresses for various testing jobs.<br>
<br>
Are you aware of postfix recipient_delimiter? It allows for disposable / <br>
wild card addresses. If enabled in postfix, you setup a mailbox user <br>
like <a href="mailto:barbaz@mydomain.com" target="_blank">barbaz@mydomain.com</a> and any address with that user and the <br>
delimiter would still get delivered to that user.<br>
<br>
    <a href="mailto:barbaz@mydomain.com" target="_blank">barbaz@mydomain.com</a> -> <a href="mailto:barbaz@mydomain.com" target="_blank">barbaz@mydomain.com</a><br>
    <a href="mailto:barbaz%2Brandomtext@mydomain.com" target="_blank">barbaz+randomtext@mydomain.com</a> -> <a href="mailto:barbaz@mydomain.com" target="_blank">barbaz@mydomain.com</a><br>
    <a href="mailto:barbaz%2Btest1@mydomain.com" target="_blank">barbaz+test1@mydomain.com</a> -> <a href="mailto:barbaz@mydomain.com" target="_blank">barbaz@mydomain.com</a><br>
<br>
You can change the + to any symbol you want postfix to look out for.<br></blockquote><div><br></div><div>We were using this approach on a different domain but our issue was that we have</div><div>multiple people on the same piece of work and so they needed to share access to </div><div>all of the mails. We decided on the approach I'm describing as we also wanted to </div><div>have control at the DNS level to do this such as expiring addresses.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> I think my "creating users" was me wanting to make sure that when <br>
> postfix<br>
> passes an email for "<a href="mailto:barbaz@mydomain.com" target="_blank">barbaz@mydomain.com</a>" to Dovecot, then Dovecot will <br>
> store it and wait for<br>
> someone to come along and impersonate barbaz. i.e. "barbaz" doesn't <br>
> have to exist as a user<br>
> already before Dovecot will store the mail.<br>
<br>
If you are using LMTP dovecot will only accept emails from postfix that <br>
it can lookup the /directory/path to from one of the userdb{} or <br>
passdb{} sections. If dovecot can not find a match in any of the <br>
userdb{} or passdb{} it will reject the email as user unknown causing <br>
postfix to send a undeliverable notice email back to the envelope sender <br>
address, also known as back-scatter. I am not aware of a way to use <br>
wildcard addresses in dovecot userdb{}, i don't think its possible but i <br>
don't know what i don't know.<br></blockquote><div><br></div><div>So I think this will be the main issue now - there's no way of knowing the </div><div>addresses ahead of time, so it sounds like I'll need to add them to userdb{} when they</div><div>hit postfix and before they get passed to dovecot.</div><div><br></div><div>For my sins I'm building this on Kubernetes so dovecot is on a separate "machine" at the</div><div>moment. The userdb will be in postgres, as I'm using that for other things, so I guess I'll need</div><div>to update that in postfix somewhere. This is a fairly low volume system, so I can probably take </div><div>the hit of a DB query per email. </div><div><br></div><div>Currently postfix doesn't even seem to be attempting to talk to dovecot but that's one for the </div><div>postfix list.</div><div><br></div><div>Thanks again for the help.</div><div><br></div><div>Cheers,</div><div><br></div><div>Felix</div><div><br></div></div></div>