guides
BCC and CC in SMTP Emails: API Fields, Headers, and Tests
Understand CC and BCC in SMTP email, how recipient fields behave in APIs, and how to test BCC visibility with MailSlurp inboxes.
CC and BCC are recipient fields that affect who receives an email and which recipient addresses are visible. In SMTP, API, and campaign workflows, they should be treated as part of message design, not as a last-minute composer setting.
Use this guide when you need to understand cc and bcc fields in SMTP email, test BCC privacy, or confirm that an app sends the right message to the right recipients.
What is CC in email?
CC stands for carbon copy. CC recipients receive the same message as the primary To recipients, and their addresses are visible to other normal recipients.
Use CC when transparency is useful: project stakeholders, account teams, reviewers, or anyone who should be visibly included in a thread.
What is BCC in email?
BCC stands for blind carbon copy. BCC recipients receive the message, but their addresses are hidden from To and CC recipients.
Use BCC when recipient privacy matters: customer announcements, partner updates, vendor notices, controlled archive copies, and one-way communications where recipients should not see each other.
For the broader etiquette and workflow guide, see BCC in email: meaning, examples, and when to use it.
Understanding SMTP
SMTP stands for Simple Mail Transfer Protocol. It is the protocol used to submit and transfer email between systems.
When an app sends email through SMTP or an API, the sender defines recipient fields before the message is handed to the mail server. The mail server then delivers copies to the intended recipients while preserving the visibility rules for CC and BCC.
The important distinction is:
ToandCCare normal visible recipient fields.BCCrecipients receive a copy without being exposed to normal recipients.- Headers and provider logs may still retain delivery evidence for the sender and mail systems.
CC vs BCC in API payloads
Most email APIs represent recipients as arrays:
await mailslurp.sendEmail(inbox.id, {
to: ["customer@example.com"],
cc: ["account-team@example.com"],
bcc: ["audit@example.com"],
subject: "Account update",
body: "Your account update is ready.",
});
Keep these fields explicit in tests. Recipient mistakes are easier to catch when to, cc, and bcc values are generated by named test inboxes instead of reused personal mailboxes.
How to test BCC in SMTP emails
Before using BCC in a customer or campaign workflow, send a real message to controlled inboxes:
- Create separate MailSlurp inboxes for
To,CC, andBCC. - Send through the same SMTP client, email API, or campaign workflow that production will use.
- Wait for all expected inboxes to receive the message.
- Confirm the BCC inbox receives the message.
- Confirm the
ToandCCrecipients do not see the BCC address. - Inspect headers, subject, body, links, and reply-to behavior.
- Save the received email IDs for release evidence.
This test proves the customer-facing result. It also gives developers enough detail to debug payload generation, SMTP relay behavior, and campaign tool configuration.
What to check before sending
- Are unrelated customer or partner addresses hidden with BCC or separated into a campaign workflow?
- Do visible recipients belong in
ToorCC? - Does the BCC recipient receive the message?
- Are reply-to and support paths correct?
- Do headers, links, and body content match the intended audience?
- Does the message pass deliverability and spam checks before launch?
Use Email Sandbox, Email integration testing, campaign testing, and Email header analyzer to turn those checks into repeatable release gates.
Final take
CC is for visible participation. BCC is for private receipt. MailSlurp helps teams test both behaviors with real inboxes so recipient privacy and message correctness are confirmed before a live send.