Enhanced Outbound Sending API

Until now, all transactional messages sent through the Mailsac API only allowed text. With the latest release, the API supports HTML and attachments. Additionally supported is sending an entire raw SMTP message over the REST API.

New Transactional Email Fields



You can provide full HTML in the html field when doing a POST /api/outgoing-messages. This was not possible in previous versions of the API.


Attachments can be sent and linked into the html by including an array of attachment objects in the attachments field.

Example Inline Attachment
  "contentDisposition": "attachment",
  "content": "3asfji32gia...93as==",
  "encoding": "base64",
  "filename": "2561a.jpg",
Example Attached File
  "cid": "[email protected].",
  "contentDisposition": "inline; filename=2561a.jpg",
  "content": "3asfji32gia...93as==",
  "encoding": "base64",
  "filename": "2561a.jpg",

Received Headers

Persisting received headers is now possible – send a single string or array of received headers. This allows you to receive SMTP in your application, pre-parse it, and pass along received information.

Raw SMTP over HTTP


If you want to test SMTP parsing or have an application that generates raw SMTP messages, put the entire SMTP contents into the raw field when doing a POST /api/outgoing-messages.

Mailsac will parse the headers, text, HTML, and attachments, then deliver it for you.

All other fields will be ignored when you send a raw message.



Read the API docs for sending transactional emails over HTTP


API Reference Overhaul

The API documentation received a fresh new look using a fork of the popular Slate docs framework.

Significant update to our documentation

API endpoints should be easier to navigate. Many request and response examples were added. Endpoints for downloading attachments are easier to find.

In the coming weeks there will be updates to the docs for the SMTP Web Socket API and the Webhook API, including new examples and guides.

View the new API Docs

POP server release

A new POP3 server has been deployed. It was rewritten from the ground up in Golang. The source code will be released to GitHub soon.

The original Node.js POP3 server consumed far more memory than we felt necessary (120 MB upon startup, 400 MB under regular load), and the codebase relied on some packages which were outdated due to the author re-licensing dependencies under restrictive licenses, and removing some of the source code from GitHub. We had to pin to older versions which were initially published under the MIT license. There are still other Mailsac SMTP services packages stuck on older SMTP packages; these will be migrated to Go soon also. We hope to open source as much as possible again soon – the Mailsac GitHub project is far out of date from mailsac.com.

Mailsac POP3 settings