Skip to content
English

Sending and operations

Queue a message

Receive ID mailbox from GET /v1/mailboxes. Create a unique Idempotency-Key for one submission and save it until the final result. For network replay, use the same key and the same body.

HTTP 202 returns an operation object, not a delivery confirmation. Field id contains ID operations. Poll GET /v1/operations/{operation_id}.

POST /v1/mailboxes/42/send
Idempotency-Key: message-20261019-0001
Content-Type: application/json
{"to":["[email protected]"],"subject":"Hello","text":"A message from Adapt Mail"}

Understanding the result

queued
The message is waiting to be sent.
running
Sending is in progress.
succeeded
The mail server accepted the submission. Check the result for each recipient.
failed
Sending failed. The reason is given in error.
cancelled
Dispatch cancelled.
uncertain
Failed to confirm the send result. Please check the operation and your sent folder before trying again.

After a successful send, result contains accepted_recipients, rejected_recipients and sent_saved, which indicates whether a copy was saved in Sent. Acceptance by the mail server does not guarantee delivery to the recipient’s inbox.

To cancel a pending send, run POST /v1/operations/{operation_id}/cancel. The /retry method does not resend the email.

Replies, forwarding and scheduled delivery

To reply, please include message_id of the original email in reply_to_message_id and forward it to references. In to, enter the reply address from reply_to or the sender's address. To reply to everyone, add other participants to to and cc, excluding your own address.

To forward attachments, pass forward_message with folder, uidvalidity and uid. For your uploaded files, use file_ids. Total attachment size is limited to 25 MiB.

Provide send_at with a time zone; it is stored in UTC. Sending can be scheduled up to a year ahead. Outbound limits are checked when the message is sent, not when it is queued.