What does frozen mean?
Your server keeps outgoing mail in a mail queue. The queue is a line of mail that waits to be sent. Sometimes a message cannot be delivered, and it cannot be sent back either. For example, the sender address may not exist. The mail server then marks the message as frozen. It stops trying, like a car that has stopped in the road.
Why do emails freeze?
- The sender address is wrong or does not exist, so a failure notice cannot be returned.
- The message was sent by a script, such as a website form, with a bad address.
- A message is damaged or too large.
- A spam run was sent from a hacked site, and the replies bounce.
A few frozen mails are normal. Hundreds of them often mean spam or a broken script.
How to see frozen emails
This needs root access, so it is for VPS and dedicated server owners. Root is the main admin account. Log in with SSH. The commands below work with Exim, a common mail server program.
exim -bp | grep frozen
This lists queued messages that are marked frozen.
exiqgrep -z -i | wc -l
This counts the frozen messages.
How to remove them
- Look at one message header. Replace ID with a real ID from the list.
exim -Mvh ID
This prints the header of that message.
- Remove all frozen messages.
exiqgrep -z -i | xargs exim -Mrm
This deletes every frozen message from the queue.
- Find the cause. Check which site or account sent them. Fix the script or change the password that was stolen.
On shared hosting you cannot run these commands. Ask Hostvento support through the support page.
Quick recap
- Frozen mails are stuck in the queue and are not retried.
- Bad sender addresses and spam are common causes.
- Root users can list and remove them with Exim commands.
- Find and fix the cause, or they will return.