Codebeispiele
Nutzen Sie einen beliebigen HTTP-Client oder eine SMTP-Bibliothek. Diese Beispiele rufen die REST-API direkt auf, Sie können Ihre bevorzugte Bibliothek einsetzen.
So integrieren Sie
Es gibt zwei Wege zu senden: die REST-API über HTTPS oder Standard-SMTP. Die API eignet sich für neuen Code und liefert strukturierte Ergebnisse. SMTP passt zu bestehenden Anwendungen und Tools. Beide authentifizieren sich mit einem API-Key.
Node.js
Nutzt das integrierte fetch aktueller Node-Versionen.
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
Nutzt die Bibliothek 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
Nutzt cURL, das bei den meisten PHP-Installationen dabei ist.
$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);Gute Gewohnheiten in jeder Sprache
Setzen Sie bei jeder Anfrage ein Timeout. Wiederholen Sie nur bei 429- und 5xx-Antworten, mit exponentiellem Backoff und Jitter. Wiederholen Sie niemals ein 4xx außer 429, denn die Anfrage scheitert genauso wieder. Protokollieren Sie die von jedem Versand zurückgegebene Message-ID, damit Sie ihn später nachverfolgen können.
SMTP-Bibliotheken
Jede SMTP-Bibliothek funktioniert: Nodemailer, PHPMailer, Python smtplib, Java Mail und die SMTP-Unterstützung der meisten Frameworks. Verbindungseinstellungen finden Sie in der Anleitung zur SMTP-Integration.