Linux – Why does Exim puts emails on hold if there are frozen messages in the queue

emaileximlinuxsmtp

I've a CentOS with CPanel server working as a SMTP server, which currently uses 20 different hostnames and IP addresses to deliver email for an email newsletter service.

However, it's extremely slow in sending emails. It's sending like 10 emails per minute, which I check by running the "exim -bpc" command. What could be affecting this?

One thing I'm supposing, is that there are frozen messages in the queue, which are slowing down the sending until they're sent out, and are putting new messages on hold.

What are the most common reasons a message can get frozen?

Also, would it be more efficient to use 20 different small VPSs to send out email rather than use one large VPS with the 20 different hostnames and IPs in it?

Best Answer

A frozen message is a message that cannot delivered nor bounced. You should not see many frozen messages, and besides, they should not affect performance at all. Are you running an open relay, by any chance? Otherwise it is probably a configuration issue (Do you accept mail? Do you bounce everything, even spam you (eventually) receive? )

A problem I have seen is that sometime you can get tarpitted, especially if you send "spammy" messages (I guess a newsletter could fit that description). In this case a single message will block the entire queue. How many queue runners do you use? You can try increase their number and see what happens. If you get tarpitted, do you have SPF and DKIM set up? They may help in this case.