Two ways, one per call
With a body: you send subject, from, and html or text.
With a template: you send templateId and variables. Subject and sender come from the
template.
Mixing the two is rejected — sending templateId alongside subject is ambiguous, and guessing
which wins would produce a message nobody asked for.
These fields appear optional in the reference schema because the requirement is between
them, not on each one. subject and from are required when there is no template.
Every recipient counts
One call to three people uses three of your quota. to, cc, and bcc add up, to a maximum of
50 per message.
Send text alongside html. HTML-only mail scores worse with filters, and some people read
in clients that do not render HTML. It is the cheapest difference there is between inbox and
spam.
Marketing is a different class
type: 'MARKETING' leaves through a pool of IPs separate from transactional. The separation
exists so that one bad campaign does not take down anyone’s password reset — the two reputations
are measured apart precisely because one must not contaminate the other.
Marketing requires one recipient per message: the unsubscribe link is a header of the
message, so one copy sent to fifty would carry the same link and forty-nine buttons would
unsubscribe a stranger.
What the response means
The response comes back before the message leaves — it enters the queue. To know whether it
arrived, use webhooks or fetch the message later: it carries the timeline of
delivery events.