Skip to content
Gmail and Google Workspace · permanent error

503 5.5.1: DATA sent after BDAT

Your client began sending the message in BDAT chunks and then switched to DATA in the same transaction, which the CHUNKING extension does not allow.

Gmail
Provider
Permanent (5xx)
Class
Sources checked
Author

At a glance

Code
503 5.5.1
Temporary or permanent
PermanentRefused for good: the message comes back to the sender, and resending it gets the same answer.
Who has to act
The sender. The fix is on the sending side: your domain, your server or your list.
What the server says
503 5.5.1 No DATA after BDAT.

What it means

RFC 3030 adds BDAT, a way to send a message in chunks of a stated size instead of with DATA. A client may use one or the other in a transaction, never both. Gmail saw DATA after BDAT had started and refused it as out of sequence; Google refers to RFC 3030. This is a bug in the CHUNKING support of the sending software. Turning CHUNKING off in the client, so it sends with DATA alone, works around it until the software is fixed.

Common causes

  • A client with faulty CHUNKING support that mixes BDAT and DATA.
  • A proxy or filter between the client and Gmail that rewrites the transfer commands.

How to fix it

  1. 01Check the session log for the BDAT and DATA commands.
  2. 02Update the sending software to a version with correct CHUNKING support.
  3. 03As a workaround, turn off CHUNKING in the client so it sends with DATA only.

Sources

What this page rests on, checked on 20 Oct 2026. The explanation is ours; the reply text is the server's.

  1. 503 5.5.1Command sent out of sequence.Your client sent Gmail an SMTP command at the wrong point in the conversation, such as the message before any recipient, so Gmail refused it.GmailPermanent
  2. 503Bad sequence of commands.The client sent a command at the wrong point in the conversation, for example message data before any recipient was accepted, or mail before logging in.StandardPermanent
  3. 5.5.1Invalid SMTP command.The sending software issued an SMTP command that the server does not support, or sent it at the wrong point in the conversation.StandardPermanent

All 108 Gmail codesEvery code in the wikiPaste your own bounce

Beat · paid monitoring

A heartbeat for your email.

Beat runs every check on this site on a schedule: 41 checks, 33 blacklists and real inbox placement. The moment something breaks, it tells you what broke, why it matters, and the exact fix.

example.comWatching
  • SPFpass
  • DKIMpass
  • DMARCp=none
  • Blacklists0 of 33

Illustrative. Your domain, every few hours.

Also from us:Pulse: your own sending infrastructureConsulting: $65/hr, no retainer