There are several reasons to use :fail: instead of :blackhole: on a cPanel server. In general, both options discard the unrouted emails but they are working quite different way.
Using :blackhole: option:
- Incoming emails will be accepted by the server and then it is processed though exim and on delivery it is written to null device (/dev/null) and silently ignores the emails.
- This wastes your server’s resources (i.e. Memory, CPU, Disk I/O etc.) because the incoming emails are fully processed by exim before being written to null device (/dev/null).
- Since the entire email (including body) is being processed this will waste your bandwidth as well.
- Because the blackholed email is still processed through the whole of exim, if any of the usual checks fails, such emails will be placed in your exim mail queue and your email queue may be filled by thousands of such emails. This will increase your server load as well as it affects to normal email delivery as well.
- Since this option is silently discard the emails, tis actually breaks the SMTP RFC.
Using :fail: option:
- The email is never accepted by the server. During initial SMTP connection, first it verifies the recipient address using RCPT command. If the recipient email address exists on the server, it will process the email. If it does not exist, it issues an SMTP DENY which terminates the attempt to deliver the email.
- This saves bandwidth as the email data is never received into your server.
- This saves your server resources as well as the email data is never received into your sever.
- Since SMTP server sends DENY command, this complies with the SMTP RFC.
- Your server does not send a bounce message (just the DENY command) and it does not send anything to the address mention in “From”.
- The sender’s email server is responsible to notify original sender.