How the message looks
450 4.2.0 <user@example.com>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/example.com.html 451 4.7.1 Greylisting in action, please come back later 450 4.7.1 Please try again later (greylisted)

How it works

The receiver remembers a triplet of sending IP, sender address and recipient address. On first sight it answers with a temporary error and notes the time. If the same combination returns after a waiting period — five minutes by default in Postgrey — it is accepted and put on an allow list for weeks.

A five to fifteen minute delay on the very first message to a recipient is therefore not a fault but the entire point of the method.

When it does become a problem

  1. The sender does not retry. Web shops, monitoring scripts and form mailers that send once via PHP or an API have no queue. A temporary error is final for them. Such systems belong behind a real mail server or smarthost that handles the retry.
  2. The retry comes from a different IP. Large senders use pools with many outbound addresses. If every attempt hits a new IP the triplet never matches, and the mail sits until the queue expires. Known behaviour at several cloud providers.
  3. The envelope sender changes per attempt. Some systems generate a fresh VERP address for each try — with the same result.

What you can do

On the sending side: make sure a server with a proper queue does the delivery, and keep the outbound IP as stable as you can. Clean reverse DNS and passing authentication help too, because many installations exempt known, well-reputed senders from greylisting.

On the receiving side: rather than switching greylisting off wholesale, maintain exceptions for the domains whose delay genuinely hurts.

Find the cause in the actual message

Send or forward the affected email to hello@analyzemy.email. For that exact message the report shows which IP sent it, how SPF, DKIM and DMARC turned out, and where the chain breaks.

Analyze your email now

Last updated: · All error messages