Bobcares

How we quickly fix Postfix mail stuck in queue

by | May 11, 2019

Perfect mail servers ensure lightening fast mail delivery. And, the mail reaches your friend in a split second.

Unfortunately, that’s not the case every time. Often, mails get stuck in the mail server queue resulting in delayed or failed emails. In mails servers like Postfix, this can happen due to spamming, bad mail server configuration, etc.

At Bobcares, we often address problems like Postfix mail stuck in queue as part of our Server Management Services.

Today, we’ll see how our Bobcares Engineers fix Postfix mail stuck in queue and make mail working.

Understanding Postfix mail queue

Before proceeding further, let’s have a quick look and understand Postfix mail queue.

By default, Postfix maintains 2 mail queues, pending and deferred. Pending queue contain mails that are not sent to remote server. Again, the Deferred queue hold the mails that has temporary failure. The Postfix mail server will retry sending the deferred queue mails on set intervals.

Therefore, at any point of time, the number of mails in the queue gives a quick status on the mail server. To view the number of emails in Postfix email queue, we can use the command:

mailq

For example, the output from a server having 4 mails in the queue with a total size of 19Kbytes will look as:

[root@pxxx ~]# mailq | tail -n 1
-- 19 Kbytes in 4 Requests.

Higher number of queued mails in the server indicate a problem on the Postfix server.

[Do you know that our server monitoring plan tracks number of mails in queue? We proactively fix mail queue before even the customer notices it.]

 

Reasons for Postfix mail stuck in queue

Now, that we have an idea on Postfix mail queue, let’s check on the reasons that would make mail stuck in queue.

 

1. Spamming

From our experience in server administration, our Support Engineers often see spamming as one of the major reasons for high mail queue.

When a spammer sends a large number of emails to non existing addresses, they fail and remain in the queue. Similarly, when the recipient server see too many mails from the same server, it will block all mails from it.

A sample entry in the server’s mail log at /var/log/mailog appears as:

May 10 03:36:13 pmxxx postfix/smtp[2446]: 48A6B1A7508: to=<mxxx@xxx.xxx>, relay=mx-ha02.xxx.xx[2xx.xx.17.8]:25, delay=189560, delays=189
557/0/2.8/1.1, dsn=4.0.0, status=deferred (host mx-ha02.xxx.xx[2xx.xx.17.8] said: 450-Requested mail action not taken: mailbox unavailable 450 Reject due to policy violations. (in reply to RCPT TO command))

Again, certain servers send bounce messages back to the server. As a result, the mails get stuck in the server’s mail queue.

 

2. Scan program not running

Similarly, we often see mail to be stuck in Postfix queue when the antivirus program fails to work correctly. For example, in Postfix servers having MailScanner software scanning each email, problems appear when MailScanner stops. Likewise, other antivirus programs like Clamav, Amavis, etc. impact the Postfix mail delivery too.

For the proper working, these mail filtering services should be working on the server.

 

3. Incorrect Postfiix config

The wrong configuration in Postfix also causes mails to be stuck in the queue.

Recently, when one of our customers reported mails stuck in Postfix, the reason attributed to Postfix configuration. In the Postfix configuration file at /etc/postfix/main.cf, it was set to use all protocols. However, the server was blocking IPv6 protocols. This resulted in network error when sending mails to Gmail users.

Feb 16 19:13:25 ip-xx-xx-xx postfix/smtp[17128]: connect to aspmx.l.google.com[2607:f8b0:400e:c04::1a]:25: Network is unreachable
Feb 16 19:13:25 ip-xx-xx-xx postfix/smtp[17128]: A3AEE2026D: to=<abc+b78fd7ef-a67e-410e-xxxx-xxx@abc.com>, relay=none, delay=361752, delays=361752/0.04/0.28/0, dsn=4.4.1, status=deferred (connect to aspmx.l.google.com[2607:f8b0:400e:c04::1a]:25: Network is unreachable)

 

How we correct Postfix mail queue

We already saw the possible errors. In many cases, simply forcing the email delivery will work. But, the problem will pop up again. Therefore, our Dedicated Engineers always fix the real root cause for the problem first.

Now, it’s time to see how we correct the Postfix mail queue and make mail working.

 

1. Fix Spamming

With a general analysis of the Postfix mail queue, our Server Administrators can quickly identify spamming on the server. In such cases, we additionally verify couple of emails in the queue using the command:

postcat -vq XXXXXXXXXX

Here, XXXXXXXXXX is the message id of mail stuck in queue. We check the headers of the email and understand the source of the email. Most probably, they will be sent from some php scripts that resides inside the website content. Or, it can be a compromised email account. In either cases, we disable the problem user and malicious spamming script.

Again, to avoid such spamming instances, we take adequate precautionary measures on the server. This include periodic scanning of website content, rate limiting emails on server, etc. For example, in servers with Plesk control panel, Outgoing mail rate limiting can be done based on domain, email addresses, etc. as below.

 

2. Restart Antivirus programs

In cases where antivirus become the problematic element, our Server Engineers first confirm whether it is running on the server. For instance, in case of MailScanner, we check the folder /var/run/MailScanner/ and look for the process id file. Missing id file means that the service is not running. Therefore, we do a restart using the command:

/etc/init.d/mailscanner restart

This would make MailScanner running again and Postfix start processing mails. We apply similar fix in case of other antivirus programs like Clamav too.

 

3. Correct Postfix configuration

Similarly, in certain cases, the fix may require edits in the Postfix configuration file too. For instance, when the customer had problems with IPv6 traffic on the server, we temporarily fixed it by making Postfix use only IPv4 protocol.

Here, we edited the file /etc/postfix/main.cf and set the variable as below.

inet_protocols = ipv4

After restarting Postfix, mails started flowing from the server.

 

4. Force mails on Postfix

In all cases, after fixing the root cause, it will take too much time to process the mails stuck in Postfix queue. Therefore, our Support Engineers bring the mail count back to normal using the following steps.

Flush the mail queue that would immediately attempt to send all queued messages using

postqueue -f

Also, in some cases, we clear the deferred mails using:

postsuper -d ALL deferred

In case of spamming instances, we configure scripts to delete all queued emails that have a certain address in them.

 

Conclusion

Precisely, mails often get stuck in Postfix mail queue resulting in email delays. Today, we saw the various reasons for the error and how our Dedicated Engineers fix Postfix mail stuck in queue.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = "owonCMyG5nEQ0aD71QM";

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF