Send raw
Send a fully-formed MIME message (RFC 5322). For when you need
control over headers, attachments, multipart structure, or
DKIM-signed forwarding. Equivalent to AWS SES SendRawEmail.
POST /api/v1/partner/email/send-rawRequest body
{
"raw_message_base64": "RnJvbTogaGVsbG9AeW91cmNvbXBhbnkuY29tDQpUbzogY3VzdG9tZXJAZXhhbXBsZS5jb20NClN1YmplY3Q6IEhlbGxvDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgNCg0KSGVsbG8h",
"configuration_set_name": "production"
}| Field | Type | Required | Notes |
|---|---|---|---|
raw_message_base64 | string | yes | base64-encoded RFC 5322 message. Max 10 MB decoded. |
from | string | no | Override From-address parsing. Defaults to parsing the message’s From: header |
to | string[] | no | Override recipient parsing. Defaults to parsing To: header |
configuration_set_name | string | no | |
customer_id | string | no | |
category | string | no | |
tags | object | no |
What you control
- All headers — From, To, Cc, Bcc, Subject, Reply-To, Message-ID,
arbitrary
X-headers,In-Reply-To,References - MIME structure — multipart/alternative, multipart/mixed,
multipart/related (inline images via
Content-ID:) - Attachments — encode each part with the right Content-Type + Content-Disposition + Content-Transfer-Encoding
- Custom headers — anything not on the reserved list
What we override
Date:— set to send time if missingMessage-ID:— added if missing- DKIM-Signature — we always sign with our shared key
- Return-Path — set to our bounce address for VERP routing
When to use this
- Sending forwarded mail with original headers preserved
- Replying inside an existing thread (
In-Reply-To/References) - Multipart with attachments
- Custom List-Id / List-Help / List-Subscribe / List-Unsubscribe headers
For simple HTML+text sends, use /send —
much less ceremony.
Example
Building a multipart message in Node:
import { createMimeMessage } from "mimetext";
const msg = createMimeMessage();
msg.setSender("hello@yourcompany.com");
msg.setRecipient("customer@example.com");
msg.setSubject("Receipt + invoice attached");
msg.addMessage({ contentType: "text/plain", data: "See attached." });
msg.addMessage({ contentType: "text/html", data: "<p>See attached.</p>" });
msg.addAttachment({
filename: "invoice.pdf",
contentType: "application/pdf",
data: pdfBase64,
});
const raw = msg.asEncoded();
const rawB64 = Buffer.from(raw).toString("base64");
await fetch("https://apis.splashifypro.com/api/v1/partner/email/send-raw", {
method: "POST",
headers: { Authorization: `Bearer ${API_KEY}` },
body: JSON.stringify({ raw_message_base64: rawB64 }),
});