SMTP Error 447 - Delivery time expired — a misread of 4.4.7, not a real code. | Warmup Inbox

The short answer

SMTP 447 is not a real 3-digit reply code. It is the enhanced status 4.4.7 ("delivery time expired") with the dots dropped, usually seen in Exchange or Microsoft 365 NDRs like "550 4.4.7 Queue.Expired; message expired." Your server retried for hours (Microsoft 365 retries for about 24 hours) but never got through. Fix the underlying transient failure.

Quick fix

Fix the underlying transient failure: recipient MX/DNS, connectivity, or a backed-up queue.

4 - Temporary. Safe to retry. The message is not lost and most servers retry automatically.

What it means

RFC 5321 defines no 447 reply code. Its transient codes are 421, 450, 451, 452, and 455. What people read as "447" is the enhanced status 4.4.7 with the dots removed. Written out it is class.subject.detail: 4 (persistent transient), .4 (network and routing), .7 (delivery time expired). So "400 4.4.7 message delayed" or "550 4.4.7 Queue.Expired" carries its meaning in the 4.4.7, not the 447. It means your sending server kept retrying because each attempt hit a temporary failure, and the message eventually sat in the queue past its expiration and was dropped.

Common causes

How to fix it

  1. Read the full NDR or queue log
    The real problem (DNS failure, connection timeout, recipient 4xx throttling) is usually quoted next to the 4.4.7. RFC 3463 says the original error should be preferred over this one when available.

  2. Verify the recipient MX and DNS
    A missing or unresolvable MX means your server never connects.

    nslookup -type=mx recipientdomain.com
    dig MX recipientdomain.com
    
  3. Check the recipient server availability
    If it was offline, full, or rate-limiting you, every attempt returned a transient error until the queue expired. Retry once the remote host is healthy.

  4. For Microsoft 365 senders
    Confirm your own MX record, ensure your SPF record lists all sending sources so receivers do not soft-reject, and test with the Microsoft Remote Connectivity Analyzer outbound SMTP test.

  5. On self-hosted Exchange
    Check for a backed-up queue or back pressure (low disk or memory), restart the transport service, and review Queue Viewer. Lengthening the expiration timeout only masks the real failure, so fix the DNS and connectivity items first.

Paired code

A real bounce often shows both a 3-digit code and an enhanced code together. This one commonly pairs with:

X.4.7 Delivery time expired

Common questions

Related codes

Most rejections come back to sender reputation.

Blocklists, auth failures, and policy blocks are what warmup prevents. Warm up your domain so your mail is trusted before you hit send.