Dedicated routes
Create addresses for invoices, support, reports, leads, or any other product workflow.
Build inbound routes, turn complicated MIME messages and DMARC reports into clean webhooks, classify intent, and send transactional mail through the same API.
POST /v1/mailbox/inboundAn inbox becomes an event source your product can trust.Assign an address to a workflow. Maail receives the message, normalizes transport details, and posts a predictable payload to your endpoint.
Create addresses for invoices, support, reports, leads, or any other product workflow.
Receive text, HTML, headers, participants, and attachment metadata without writing a parser.
Verify event authenticity and handle retries idempotently with stable event identifiers.
Use structured rules or LLM reasoning to turn message content into an actionable category.
Classify raw RFC 822 or structured content with a confidence score and reason codes.
Choose workflow-specific retention instead of mixing operational mail with stateless analysis.
Receive aggregate XML and forensic reports by email, normalize authentication results, and forward structured findings to your security workflow.
Transport mechanics stay behind the API. Business policy remains in your application.
Maail accepts SMTP delivery for the generated inbound address.
Headers, bodies, attachments, and optional classification become one event.
A signed request triggers the exact workflow your product owns.
Send a fully composed message or reference a stored template. Idempotency keys make retries safe, and every accepted message receives a stable identifier.
/v1/email/sendSend text, HTML, attachments, or a template with variables.
/v1/email/templateCreate or update a reusable transactional template.
/v1/email/message/:idRead the current delivery state for an accepted message.
/v1/email/classifyClassify message content independently of inbound delivery.
Standalone classification discards submitted content after returning the result. Inbound and sending retain only the operational state needed to receive, retry, and report delivery.
Start with an inbound route, a transactional template, or a classifier and extend only where needed.