451 4.7.1 Greylisted, please try again later
The receiving server has never seen this combination of sending IP, sender address and recipient before, so it refuses the first attempt and remembers the triple. A real mail server retries in a few minutes and is accepted; most spam software does not retry. The delay is the whole point, and it is deliberate.
What the server replies
451 4.7.1 Greylisting in action, please come back later
- Sent by
- Any mail server
- Type
- TemporaryRetry helps
- About
- Receiver policy
- Enhanced code
- 4.7.1
Who sends it
Servers running Postgrey, milter-greylist, SpamAssassin's greylisting, Exim with greylisting ACLs, and several commercial gateways. The text varies: "Please try again later", "Service unavailable - try again later", "Greylisted for 300 seconds". The 4.7.1 code is also used for other temporary policy rejections such as "Try again later" from Gmail.
Why it happens
- First message from your server to this recipient, which is normal.
- Your server sends from a pool of IPs and each retry comes from a different one, so the triple never matches.
- The sender address changes on every message (VERP bounce addresses), which defeats the triple.
- Your MTA's first retry is set to an hour or more, so the message looks "slow" when it is really waiting for the retry.
How to fix it
Accept the delay
Greylisting adds five to thirty minutes to the first message to a new recipient. Nothing is wrong.
Retry from the same IP
If you send from several IPs, configure the MTA to retry a deferred message from the IP that first tried, or publish all of them in SPF; many greylisters whitelist a sender whose SPF passes.
Shorten the first retry
Set the minimum retry interval to around five minutes for the first attempt so greylisted mail clears quickly.
Publish SPF and a PTR record
Several greylisting implementations skip the delay for authenticated senders with proper reverse DNS.
Check it yourself
These free tools show the records and connections behind this code for your own domain or server.
Related codes
- 450 4.1.1 Recipient address rejected: unverified address / mailbox unavailableThe server could not confirm the recipient exists right now and is asking you to try again.
- 451 4.3.0 Temporary system problem / temporary lookup failureSomething inside the receiving server failed while it was handling your message and it is asking you to retry.
- 421 Service not available, closing transmission channelThe server is ending the session and wants you to come back later.
Sources
Fewer bounces to look up.
Faivelo queues temporary failures and retries them on a schedule receivers accept, then tells your application once, in plain words, if a message finally cannot be delivered.
Free tier included. No card needed.
Other free tools
All tools- Email DNS checkerCheck MX, SPF, DKIM, DMARC and reverse DNS for any domain and get the exact records to add or fix.
- DMARC checkerLook up a domain's DMARC record, read every tag in plain words and see what to tighten next.
- DMARC record generatorBuild a valid DMARC record from a few choices and copy the host and value into your DNS.
- DMARC report analyzerDrop in a DMARC aggregate report and see who is sending as your domain and whether they pass.
- SMTP connection testerConnect to any SMTP server, check TLS and the login step, and see each stage with its timing.
- Email header analyzerPaste raw headers to see every hop, where the delay was, and whether SPF, DKIM and DMARC passed.
- Email address validatorCheck whether an address is well formed, whether its domain accepts mail, and whether it is disposable or a role account.