Transactional • Public API
Transactional Email Delivery Service & API for Developers
Reliable inbox placement with a clean REST API, signed webhooks, and tooling you can ship with. Mailgun says: “DELIVER EMAILS.” We say: deliver results.

API first
Developer friendly for SaaS
Simple, East REST API
- Get started fast with JS & Python SDKs
Install the SDK
Node.js
npm i @mailenv/sdk
Python
pip install mailenv
Go
go get github.com/mailenv/mailenv-go
Quick start
curl -X POST https://api.mailenv.com/v1/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "hello@yourdomain.com",
"to": ["user@example.com"],
"subject": "Welcome to MailEnv",
"text": "Thanks for joining!",
"tags": ["onboarding"]
}'
import MailEnv from '@mailenv/sdk';
const auth = {
apiKey: process.env.MAILENV_API_KEY
};
const client = new MailEnv(auth);
await client.send({
from: 'hello@yourdomain.com',
to: ['user@example.com'],
subject: 'Hello from Node',
html: 'Inbox, meet results.
',
tags: ['onboarding']
});
import os
from mailenv import Client
_apikey = os.environ.get("MAILENV_API_KEY")
client = Client(api_key=_apikey)
resp = client.send({
"from": "hello@yourdomain.com",
"to": ["user@example.com"],
"subject": "Hello from Python",
"text": "Thanks for joining!",
"tags": ["onboarding"],
})
package main
package main
import (
"log"
"os"
"github.com/yourorg/mailenv-go/mailenv"
)
func main() {
apiKey := os.Getenv("MAILENV_API_KEY")
client := mailenv.NewClient(apiKey)
msg := mailenv.Message{
From: "hello@yourdomain.com",
To: []string{"user@example.com"},
Subject: "Hello from Go",
Text: "Thanks for joining!",
Tags: []string{"onboarding"},
}
if err := client.Send(msg); err != nil {
log.Fatalf("send failed: %v", err)
}
}