r-raymond / nixos-mailserver

A complete and Simple Nixos Mailserver
GNU General Public License v3.0
181 stars 27 forks source link

Optional Greylisting for some email addresses #70

Open phdoerfler opened 6 years ago

phdoerfler commented 6 years ago

Enabling greylisting for mail addresses that do get SPAM mails would drastically reduce the number of SPAM mails received on that address since spammers usually do not try to resend mail that could not be delivered. This is in contrast to legitimate mail providers who do try to resend mail.

Greylisting works by pretending (for a while) to be unable to receive email. If a sender then retries in a specified interval to send mail again the recipient will continue to reject that mail for a while longer. If no more attempt to redeliver it within a short period of time has been made, the recipients will resume its regular course of action and accept mails from that provider normally again.

This is especially useful for people who use one mail address per account registered so they can see where their SPAM mails are coming from. They then could turn greylisting on for those addresses that started to receive SPAM mails.

r-raymond commented 6 years ago

If someone were to implement it, I'm all for it. I don't use grey-listing though (I find waiting for a legitimate email more annoying than deleting a few spam mails) so I'll probably will not be the one implementing it.

phdoerfler commented 6 years ago

I can give it a shot but it will be a while because I’ll be very busy the next weeks. On a related subject: how would you feel about turning off spam filtering for certain mail? This is something I’d like to see as well but I am not sure how much effort it’d be due to rspamd being tied into the postfix delivery chain quite firmly at the moment.

r-raymond commented 6 years ago

Can you describe your use case for turning off spam filtering for certain emails?

phdoerfler commented 6 years ago

@r-raymond I propose you don't normally need (nor want) to do spam filtering (*). Except when one of your e-mail addresses starts to receive spam because some server that had that address was compromised. Now when you only use one address this is of course the best you can do. But if you have multiple addresses, say one per account for your 100+ accounts on the internet, you can simply enable filtering for that one bad address and eventually when that stops being effective discard it and create a new one.

This is not a new idea: https://gmail.googleblog.com/2008/03/2-hidden-ways-to-get-more-from-your.html

(*) rspamd is probably a fantastic spam filtering system but every instance of machine learning will eventually classify things wrongly. And that means you are likely to miss out on an actually important e-mail.

I will look into greylisting and optional spam filtering when I got more time on my hands.