5.5.3
SMTPERRORNotableProtocolHIGH confidence

Too many recipients

Production Risk

Medium — causes partial delivery failures in bulk sending if not handled.

What this means

The number of recipients specified in the RCPT TO commands exceeds the maximum number the receiving server allows per message transaction.

Why it happens
  1. 1The sending client issued more RCPT TO commands than the server's per-transaction recipient limit.
  2. 2A bulk mailer did not split large recipient lists into multiple transactions.
  3. 3The server has a conservative recipient limit for anti-spam purposes.
How to reproduce

A client sends RCPT TO for more recipients than the server allows in a single transaction (commonly 100 or 500).

trigger — this will error
trigger — this will error
# After the 101st RCPT TO (server limit is 100):
452 5.5.3 Too many recipients

expected output

452 5.5.3 ...

Fix

Split recipient list into batches

WHEN Sending to large recipient lists

Split recipient list into batches
// Split recipients into chunks of 50 (conservative limit)
const BATCH_SIZE = 50;
for (let i = 0; i < recipients.length; i += BATCH_SIZE) {
  const batch = recipients.slice(i, i + BATCH_SIZE);
  await sendMessage({ to: batch, subject, body });
}

Why this works

Sending in batches of 50-100 recipients per transaction stays well within most server limits.

What not to do

Add all recipients to a single SMTP transaction

Most servers enforce per-transaction recipient limits, typically between 100 and 500.

Sources
Official documentation ↗

RFC 3463 — Enhanced Mail System Status Codes

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All SMTP errors