Ejemplos de código
Use cualquier cliente HTTP o biblioteca SMTP. Estos ejemplos llaman directamente a la API REST y puede cambiar a su biblioteca preferida.
Cómo integrar
Hay dos formas de enviar: la API REST por HTTPS o SMTP estándar. La API es ideal para código nuevo y da resultados estructurados. SMTP encaja con aplicaciones y herramientas existentes. Ambas se autentican con una clave de API.
Node.js
Usa el fetch integrado de las versiones actuales de Node.
const res = await fetch("https://api.migosmtp.com/v1/send", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.MIGOSMTP_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ from, to, subject, text }),
});
if (!res.ok) throw new Error(`send failed: ${res.status}`);
const { id } = await res.json();Python
Usa la biblioteca requests.
import os, requests
r = requests.post(
"https://api.migosmtp.com/v1/send",
headers={"Authorization": f"Bearer {os.environ['MIGOSMTP_KEY']}"},
json={"from": sender, "to": to, "subject": subject, "text": text},
timeout=10,
)
r.raise_for_status()PHP
Usa cURL, que se incluye en la mayoría de las instalaciones de PHP.
$ch = curl_init("https://api.migosmtp.com/v1/send");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("MIGOSMTP_KEY"), "Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode(["from" => $from, "to" => $to, "subject" => $subject, "text" => $text]),
]);
$body = curl_exec($ch);Buenas prácticas para cualquier lenguaje
Defina un timeout en cada solicitud. Reintente solo ante respuestas 429 y 5xx, con backoff exponencial y jitter. No reintente nunca un 4xx distinto de 429, porque la solicitud fallará igual. Registre el id de mensaje que devuelve cada envío para poder rastrearlo después.
Bibliotecas SMTP
Sirve cualquier biblioteca SMTP: Nodemailer, PHPMailer, smtplib de Python, Java Mail y el soporte SMTP integrado en la mayoría de los frameworks. Consulte la guía de integración SMTP para los ajustes de conexión.