452 4.5.3 Service unavailable, recipients per message limit reached
SmartRelay imposes a protocol-level (SMTP) limit of one recipient for each injected message. This is needed to properly manage message re-wrapping. See Supported email messages for more details.
You encounter this error code, for example, if your SMTP forwarder attempts to ‘optimize’ resources by sending messages that include multiple RCPT TO commands for a single DATA command. If a message is to be sent to more than one recipient, you should ensure that you:
- Send a separate copy of the message to each recipient
- Use a complete MAIL FROM – RCPT TO – DATA sequence for each recipient
- Only specify a single recipient with each RCPT TO command
Your SMTP forwarder (or other client) should separate multiple recipients, and use one RCPT TO command to send copies of the relevant message to each. See RFC 5231 Appendix B.
While this is a temporary error, a later retry will only succeed if your SMTP forwarder stops sending multiple RCPT TO commands for a single copy of a message. This might require a reconfiguration of your SMTP forwarder. If you are using an alternative client solution, an application code revision may be needed.
Most commonly used MTAs process this deferral correctly. After the message is successfully delivered to the first recipient, which is acknowledged with a 250 OK reply code, the message is then queued for a retry to all remaining recipients. Each subsequent retry successfully delivers the message to the first of any recipients that remain. Although this is an inefficient way of delivering multiple messages, due to the inherent delay caused by the retry mechanism, in most cases, the end result is successful.
This issue is not related to RFC 5322 To: and/or Bcc: headers. These are completely ignored by the message transfer agent (MTA). It is the role of the SMTP client to manage recipient addresses using RCPT TO.