Remove Fail from email filter options - Backscatter
Can cPanel please remove the option to Fail messages via Account and Global Email Filters? The filtering options in end-user's cPanels.
You cannnot fail messages this way. If you want to see backscatter, this is exactly what failing messages in these filters does.
You cannot fail a message once it has been accepted by the mail server.
For example, set up an account (exampleA.com) and point it's MX records to a hostname that resolves to an IP address that does not accept connections on port 25. Send an email to an email account on another domain name (exampleB.com) that is set up to fail messages on a certain filter (render the message in such a way to hit that filter). Then watch as the mail server for exampleB.com accepts the message, and then tries to send that message back to exampleA.com, without success, resulting in that message just sitting in the queue on exampleB.com with no where to go.
Because I'm seeing a ton of spam from .eu domain names, look at jyukl.nasalz.eu. Messages sent from any @jyukl.nasalz.eu email address to an email address on our server that has been allowed to set up a "fail" filter for messages matching .eu domain names, those messages just get stuck in the queue. (Now imagine this happening for thousands of messages).
Failing messages work in terms of the default address, because those messages are never accepted by the mail server. If exampleB.com has their default address set to Fail messages, then when someone tries to send a message to asdfidontexist@exampleB.com then exampleB.com's mail server rejects the message at the RCPT TO stage. It is never accepted.
Account filters and global mail filters only work at the end of the SMTP transaction, after the message has been accepted. This is why you can't fail messages after it's been accepted.
You either need to apply these filters on SMTP messages before accepting them, or don't allow filters to fail messages.
Discarding, blackhole, /dev/null is acceptable for filters. Instead of wasting time trying to get filters to be applied before accepting messages, I would just remove the option to fail messages in filters and make users choose the Discard option. It's the easiest solution. If matched messages are told to just be sent to /dev/null, deleted, and never delivered to the email account, that is an acceptable action.