Myth 1: A growing mail queue means external mail servers are rejecting your connection
421 Try again later or 451 Greylisted). When remote servers issue a permanent rejection (a 5xx SMTP code), Exim does not keep the message in the queue trying indefinitely; it generates a bounce message back to the sender and discards the original message from the outbound queue.
If messages sit in the queue for hours without bounce generation and without any remote SMTP dialogue in the logs, the hold is local. Your server is choosing not to attempt delivery. This happens when Exim marks a destination host as temporarily unreachable in its internal retry database (/var/spool/exim/db/retry), or when the local queue runner is backed up handling thousands of generated messages from a runaway cron job. The remote IP reputation plays zero role when your local daemon has not even fired a handshake.
Myth 2: Hourly sending limits reject messages immediately at the web application level
mail() or local sendmail succeeds without warning. Exim accepts the message locally, stores it on disk, tallies the domain counter against /var/cpanel/email_send_limits, and determines that the domain has exceeded its allocated quota for the current 60-minute window.
Instead of discarding the email or bouncing it back to the script, Exim suspends delivery for that specific domain's outbound messages until the top of the next hour. To the user running the site, everything appeared normal. To the support engineer inspecting the mail queue, dozens or hundreds of legitimate business emails sit waiting alongside the newsletter batch that triggered the limit in the first place. You are not blacklisted; you simply hit an internal brake installed to prevent blacklisting.
Myth 3: A "frozen" message in Exim always indicates spam or malicious activity
[email protected]). The destination server legitimately rejects it with a permanent 550 User unknown error. Exim accepts that failure and attempts to send a bounce notification back to the original sender.
If the original sender was an unmonitored system address or a forged local script sender that cannot receive inbound mail, Exim cannot deliver the bounce either. When a bounce cannot be delivered, Exim refuses to bounce the bounce, as doing so would cause an infinite loop. Instead, Exim marks the message as frozen. It sits in /var/spool/exim/input/ consuming queue slots until an administrator deletes it or an automated maintenance process purges expired frozen messages. A queue full of frozen messages often points to dead bounce loops, not active IP blacklists.
Myth 4: Relay and smarthost authentication failures only break outgoing test emails, not active queues
smart_route transport, connects to the relay provider over port 587 or 2525, and attempts to authenticate using the stored credentials in your configuration. If an API key expired, an invoice went unpaid, or the password was changed without updating the mail server configuration, the upstream provider rejects Exim's AUTH command.
TEXT
# contoh format output dari /var/log/exim_mainlog
2025-05-12 10:14:02 1tExample-0001a-XY H=smtp.relayprovider.example [198.51.100.25]:
SMTP error from remote mail server after AUTH LOGIN:
535 Authentication credentials invalid
2025-05-12 10:14:02 1tExample-0001a-XY == [email protected] R=send_via_smart_host
T=smart_host_smtp defer (-42): authentication required but authentication attempt faileddefer (-42). Exim does not discard the email when the smarthost rejects credentials; it assumes the authentication failure might be temporary and defers the message, keeping it safely in the local queue. Every new outbound email that enters the system queues up behind it. The server's main IP address has no reputation problem whatsoever, yet zero outbound messages reach their destinations because the upstream pipe is shut.
Finding the real bottleneck before touching network settings
exim -Mvl <message-id> or searching /var/log/exim_mainlog reveals whether the message ever reached a network socket. If the log entry displays defer alongside a local router name, a domain limit warning, or a relay authentication error, your mail flow problem is entirely internal.
When external deliverability issues do happen, they produce clear dialogue in the mail logs, usually accompanied by reference URLs from the receiving provider. If those lines are absent, stop troubleshooting external blacklists and start checking your local queue rules, hourly account caps, and transport authentications. Resolving a local misconfiguration takes minutes once you verify where the pipeline is actually blocked.