zone-eu / zone-mta

📤 Modern outbound MTA cross platform and extendable server application
European Union Public License 1.2
583 stars 92 forks source link

Suppression per sendingZone/routing headers? #405

Open rjnz2023 opened 3 weeks ago

rjnz2023 commented 3 weeks ago

Hello hello!

I'm sorry, but I'm not sure if this feature exists or if anyone here is managing this differently but is achieving this objective.

Here's our scenario: A few customers use the same ZoneMTA server to send emails. We set a different sending zone and routing headers for each customer, which identify that emails are from X customers.

The problem is when they get reported spam; we want to add those addresses to our suppression list on zoneMTA. The only annoying part is that these emails were reported as spam only for customers A but not for customers B and C's emails. Although the likelihood of their email lists being the same is very unlikely, we still want to ensure the suppression is honoured based on which customer it is rather than applying it globally across the ZoneMTA server.

Has anyone successfully separated it out based on tenant usage? If so, how are you guys tackling this issue? I would love some insight or ways to build a plugin to achieve something like this.

Any guidance would be much appreciated :)

louis-lau commented 3 weeks ago

The built-in suppression list is global. You could probably write a plugin for per-tenant suppression to specific addresses.

That being said, that seems like bad logic/behavior. If someone sends a spam complaint, you should investigate the sender instead of blocking the recipient. Unless you mean it as a temporary measure while you investigate?

rjnz2023 commented 3 weeks ago

You could probably write a plugin for per-tenant suppression to specific addresses.

Would this slow down the system processing massively? Also, do you have any ideas on targeting it per-tenant in a plugin?

That being said, that seems like bad logic/behavior. If someone sends a spam complaint, you should investigate the sender instead of blocking the recipient. Unless you mean it as a temporary measure while you investigate?

Yeah, it's temporary but also permanent because we don't want to risk ever sending it to someone who complained again, even though the customer made a mistake or something happened where it was sent from their software. We should be in a position to drop it rather than letting it through silently—that's even worse. That's my way of thinking. Maybe I am thinking about this the wrong way. ¯\_(ツ)_/¯