-
-
Notifications
You must be signed in to change notification settings - Fork 121
Description
We've experienced 2 problems with our bounce emails.
- They leak mailing list members's "final" email addresses.
- They confuse senders, who think that their email didn't get sent to anyone.
I'm not sure #2 is really solvable. I suspect that postfix's architecture involves enqueuing these forwards as completely isolated tasks that can independently fail and generate bound messages (I'd be happy to be told I'm wrong about this, though). One option would be to turn of bounces entirely, but I beleive that's even worse UX for senders.
Some detail on how emails get leaked
We've put some effort into hiding our mailing list member's email addresses by encrypting them (example).
However, if umbriel.nixos.org (our mailserver) fails to forward an email, we send a bounce back to the sender, and that leaks the bounced email addresses to the original sender. These emails look like this (sensitive and irrelevant information redacted):
<[OUR MAILING LIST MEMBER'S FINAL ADDRESS]> (expanded from <[LIST]@nixos.org>): host
[OUR MAILING LIST MEMBER'S MAILSERVER][OUR MAILING LIST MEMBER'S MAILSERVER IP] said: 550 Unauthenticated mail not allowed
from this range (in reply to RCPT TO command)Reporting-MTA: dns; umbriel.nixos.org
X-Postfix-Queue-ID: [REDACTED]
X-Postfix-Sender: [REDACTED]
Arrival-Date: [REDACTED]Final-Recipient: [OUR MAILING LIST MEMBER'S FINAL ADDRESS]
Original-Recipient: rfc822;[LIST]@nixos.org
Action: failed
Status: 5.0.0
Remote-MTA: dns; [OUR MAILING LIST MEMBER'S MAILSERVER]
Diagnostic-Code: smtp; 550 Unauthenticated mail not allowed from this range
What to do?
These bounces must be getting generated and sent by postfix. We should be able to configure postfix to still send a bounce, but with a different template that does not include the mailing list member's final email address. It's important that whatever we do does still include that X-Postfix-Queue-ID
so we can debug reports from users.