Exemples de code
Utilisez n'importe quel client HTTP ou bibliothèque SMTP. Ces exemples appellent directement l'API REST, et vous pouvez les adapter à votre bibliothèque préférée.
Comment intégrer
Il y a deux façons d'envoyer : l'API REST via HTTPS, ou le SMTP standard. L'API convient au nouveau code et renvoie des résultats structurés. SMTP convient aux applications et outils existants. Les deux s'authentifient avec une clé API.
Node.js
Utilise le fetch intégré des versions actuelles 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
Utilise la bibliothèque 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
Utilise cURL, fourni avec la plupart des installations 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);Bonnes habitudes, quel que soit le langage
Définissez un délai d'expiration sur chaque requête. Ne réessayez que sur les réponses 429 et 5xx, avec un backoff exponentiel et du jitter. Ne réessayez jamais un 4xx autre que 429, car la requête échouera de la même façon. Journalisez l'identifiant de message renvoyé par chaque envoi pour pouvoir le retracer plus tard.
Bibliothèques SMTP
Toute bibliothèque SMTP convient : Nodemailer, PHPMailer, smtplib de Python, Java Mail et la prise en charge SMTP intégrée à la plupart des frameworks. Consultez le guide d'intégration SMTP pour les paramètres de connexion.