Mandrill
Mandrill BCC requires a documented method: a type:bcc recipient in the API to array, or bcc_address or X-MC-BccAddress for a silent copy of every message.
Updated Jun 26, 2026
The short answer
"Mandrill BCC Not Working" is not an SMTP error code but a behavior issue: BCC recipients don't receive mail or appear exposed. Mandrill (Mailchimp Transactional) ignores ambiguous BCC usage and offers two documented paths instead — add a recipient with "type":"bcc" in the API "to" array, or use the bcc_address message field / X-MC-BccAddress SMTP header for a single silent copy.
"Mandrill BCC Not Working" is not an SMTP reply code (it is not a 4xx/5xx response defined in RFC 5321). It is a behavior report: a blind-carbon-copy recipient configured in Mailchimp Transactional (formerly Mandrill) either never receives the message, or the "blind" part fails and recipients can see each other. The fix depends on which of Mandrill's two distinct BCC mechanisms you intend to use.
The most common root cause is using a BCC pattern Mandrill does not honor and assuming it failed silently. Specifically:
Bcc: MIME/SMTP header is not the documented path. Mandrill exposes its own headers and API fields for recipient control; relying on an ad-hoc Bcc: header produces inconsistent results.preserve_recipients with BCC. Setting preserve_recipients (API) / X-MC-PreserveRecipients (SMTP) to false does not create a BCC. Per Mailchimp's docs, when preserve_recipients is false, Mandrill sends one copy per recipient and rewrites the To/Cc headers so each person sees only their own address. That hides addresses from each other, but every address still receives the mail as a primary recipient — it is privacy masking, not BCC.preserve_recipients. If it is unchecked, your per-message expectation can be silently overridden.Pick the mechanism that matches your goal.
to array (per-message recipients)Add the BCC recipient to the to array with "type": "bcc", and put preserve_recipients at the message level (a sibling of to, not inside it). With preserve_recipients: true, the To/Cc headers list the to/cc addresses and the message is blind-copied to the bcc addresses; the bcc recipients are not shown to anyone.
{"message": {"subject": "Your receipt","from_email": "billing@yourdomain.com","preserve_recipients": true,"to": [{ "email": "customer@example.com", "name": "Customer", "type": "to" },{ "email": "audit@yourdomain.com", "name": "Audit Copy", "type": "bcc" }]}}
Note: if you send batch/merge mail with per-recipient data, Mandrill (and wrappers like Anymail) force preserve_recipients to false so recipients can't see one another — in that mode a type:bcc entry still receives mail, but header behavior differs. Verify each address in Outbound Activity after sending.
bcc_address / X-MC-BccAddressTo always blind-copy one fixed archive/monitoring address on every message, use the message-level bcc_address field (API) or the X-MC-BccAddress SMTP header. This accepts a single email address, sends an exact duplicate (including tracking data), and — per Mailchimp's SMTP-headers docs — the BCC'd address does not appear in Outbound Activity and is not counted as a separate recipient.
X-MC-BccAddress: archive@yourdomain.com
type:bcc recipients appear there; bcc_address copies do not.preserve_recipients default.To/Cc.If you send through Courier with Mandrill as a provider, set recipients/headers via the provider override so these fields reach Mandrill unchanged.
References
FAQ
You likely used preserve_recipients/X-MC-PreserveRecipients to mask addresses rather than a real BCC. For a true BCC, add the recipient with "type":"bcc" in the API to array (with message-level preserve_recipients: true), or use bcc_address / X-MC-BccAddress for a single silent copy.
One API, every provider
Courier connects to your email, SMS, and push providers, handles retries and failover, and surfaces delivery errors in plain language.
Last reviewed Jun 26, 2026. Courier is not affiliated with third-party providers; error behavior may vary by implementation.
© 2026 Courier. All rights reserved.