Python · Flask
Senden Sie Ihre erste E-Mail aus einer Flask-Route mit dem synchronen Client des Bird Python SDK. Drei Schritte: installieren, senden, ausführen.
1. SDK installieren
Codebeispiel
python -m pip install messagebird-sdk flaskErfordert Python 3.10+. Das Import-Paket ist bird.
2. Eine E-Mail senden
Exportieren Sie Ihren API-Schlüssel. Der SDK liest BIRD_API_KEY aus der Umgebung und leitet die Region (us1 oder eu1) aus dem Präfix bk_us1_ / bk_eu1_ ab, sodass Bird() keine Argumente benötigt:
Codebeispiel
export BIRD_API_KEY="bk_us1_..."Erstellen Sie app.py. Erzeugen Sie einen Bird beim Laden des Moduls und verwenden Sie ihn für alle Requests wieder: Er nutzt Connection-Pooling und kann sicher über Threads hinweg geteilt werden.
Codebeispiel
from bird import Bird, APIError
from flask import Flask, jsonify
app = Flask(__name__)
client = Bird()
@app.post("/send")
def send():
try:
message = client.email.send(
from_="onboarding@messagebird.dev",
to=["delivered@messagebird.dev"],
subject="Hello from Bird",
html="<p>My first Bird email.</p>",
)
except APIError as err:
return jsonify({"error": str(err)}), 502
return jsonify({"id": message.id, "status": message.status}), 202from_ ist die Python-Schreibweise des Feldes from (from ist ein reserviertes Wort). onboarding@messagebird.dev ist der gemeinsame Onboarding-Absender von Bird (keine Domainverifizierung nötig), und delivered@messagebird.dev ist ein Sandbox-Empfänger, der immer zugestellt wird.
Der SDK wiederholt vorübergehende Fehler automatisch und verwendet bei jedem Versuch den Idempotenzschlüssel des Aufrufs wieder. Das verhindert, dass ein erneuter Versuch die Nachricht doppelt sendet.
3. Ausprobieren
Codebeispiel
flask run
curl -X POST http://localhost:5000/sendBird nimmt die Nachricht mit einem 202 an und stellt sie asynchron zu; Ihre Route gibt die em_-ID und den Status zurück:
Codebeispiel
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted"
}Rufen Sie die Nachricht anhand ihrer em_-ID mit client.email.get(...) ab und beobachten Sie, wie der Status von accepted zu delivered wechselt.
Nächste Schritte
- Python-SDK-E-Mail-Referenz: alle Methoden und Optionen.
- Erste E-Mail senden: derselbe Ablauf mit curl und die vollständige Sandbox-Adressliste.
- Sende-Domains: eigene Domain für den Produktionsversand verifizieren.
- E-Mail-API-Referenz: das vollständige Request- und Response-Schema.
Verwandte Ressourcen
Weiter mit der Dokumentation, Anleitungen und Beispielen zu diesem Thema. Die Ressourcen sind auf Englisch.
Anleitung ansehenTesting email without spamming anyoneDie Funktion erkundenTest email deliveryDem Lernpfad folgenOperate messaging reliably
Übung ausprobieren und ein Implementierungs-Briefing erhalten