SDKs multi-lenguaje.
Misma machine API en siete lenguajes: envío, batch, plantillas, dominios, webhooks y rates. Autenticación con API key Bearer (mlk_…). Código en github.com/jaak-ai/mailack-sdk.
- 01superficie común
Qué cubren todos
POST /v1/messages (con Idempotency-Key, flag certified por mensaje y opcional template_id), batch ≤100, sellado bajo demanda, evidencia en línea (evidence y proof-bundle), verificación online de la prueba Merkle, dominios, webhooks, templates y GET /v1/rates. El tenant se resuelve en el servidor.
sendcertified flagbatchsealevidenceverifydomainswebhookstemplatesrates - 02Go
github.com/jaak-ai/mailack-sdk/go
Cliente Go en el repositorio público jaak-ai/mailack-sdk (carpeta go/). go get github.com/jaak-ai/mailack-sdk/go. Ejemplo mínimo de envío:
Go import mailack "github.com/jaak-ai/mailack-sdk/go" client := mailack.NewClient(os.Getenv("MAILACK_API_URL"), mailack.WithAPIKey(os.Getenv("MAILACK_API_KEY"))) msg, replay, err := client.Send(ctx, "order-42", mailack.SendRequest{ From: "noreply@acme.mx", To: "cliente@ejemplo.com", Subject: "Recibo", Text: "Gracias por su compra.", }) - 03Python
pip install desde GitHub
Paquete mailack en la carpeta python/ del repositorio jaak-ai/mailack-sdk: pip install "git+https://github.com/jaak-ai/mailack-sdk#subdirectory=python".
Python from mailack import Client client = Client(os.environ["MAILACK_API_URL"], api_key=os.environ["MAILACK_API_KEY"]) msg, replay = client.send( "order-42", from_="noreply@acme.mx", to="cliente@ejemplo.com", subject="Recibo", text="Gracias por su compra.", ) - 04JavaScript / Node
ESM y TypeScript
JavaScript ESM sin build (carpeta javascript/) y cliente tipado Node/TS (carpeta nodejs/) en jaak-ai/mailack-sdk.
JavaScript import { Client } from "./mailack-sdk/javascript/index.js"; // ESM, sin build const client = new Client({ baseUrl: process.env.MAILACK_API_URL, apiKey: process.env.MAILACK_API_KEY, }); const { message, replay } = await client.send("order-42", { from: "noreply@acme.mx", to: "cliente@ejemplo.com", subject: "Recibo", text: "Gracias por su compra.", }); - 05Rust
crate Mailack
Cliente async con reqwest (rustls). Carpeta rust/ del repositorio jaak-ai/mailack-sdk (git dependency).
Rust use mailack::{Client, SendRequest}; let client = Client::new(&std::env::var("MAILACK_API_URL")?) .with_api_key(std::env::var("MAILACK_API_KEY")?); let (msg, replay) = client .send("order-42", &SendRequest { from: "noreply@acme.mx".into(), to: "cliente@ejemplo.com".into(), subject: Some("Recibo".into()), text: Some("Gracias.".into()), ..Default::default() }) .await?; - 06Java · C#
JVM y .NET
Java 17+ y C# / .NET 8 en las carpetas java/ y csharp/ de jaak-ai/mailack-sdk. Hoy se instalan desde el repositorio; la publicación en Maven Central y NuGet está pendiente.
Javamailack-sdk/java · MavenC#mailack-sdk/csharp · .NET 8 - 07MCP
Agentes de IA
Además de los SDKs HTTP, mailack-mcp expone tools (envío, evidencia, dominios, webhooks, ops) sobre la misma API. Ver quickstart paso 06.
No uses el cliente interno del servidor MCP en aplicaciones de producto; usa un SDK o la API REST.