Python · Django
Verstuur je eerste e-mail vanuit een Django-view met de sync-client van de Bird Python SDK. Drie stappen: installeren, versturen, uitvoeren.
1. Installeer de SDK
Codevoorbeeld
mkdir bird-django-quickstart
cd bird-django-quickstart
python -m pip install messagebird-sdk django
django-admin startproject config .
python manage.py startapp myappVereist Python 3.10+. Het importpakket is bird.
2. Verstuur een e-mail
Exporteer je API-sleutel. De SDK leest BIRD_API_KEY uit de omgeving en leidt de regio (us1 of eu1) af uit het bk_us1_- / bk_eu1_-prefix, dus Bird() heeft geen argumenten nodig:
Codevoorbeeld
export BIRD_API_KEY="bk_us1_..."Voeg een view toe in myapp/views.py. Maak één Bird aan bij het laden van de module en hergebruik deze voor alle requests: de client poolt verbindingen en is veilig om te delen tussen threads.
Codevoorbeeld
from bird import Bird, APIError
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.http import require_POST
client = Bird()
@csrf_exempt
@require_POST
def send_email(request):
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 JsonResponse({"error": str(err)}, status=502)
return JsonResponse({"id": message.id, "status": message.status}, status=202)De CSRF-uitzondering houdt dit lokale cURL-voorbeeld uitvoerbaar. Voeg authenticatie en een passend CSRF-beleid toe voordat je de route beschikbaar maakt.
Koppel het in config/urls.py:
Codevoorbeeld
from django.urls import path
from myapp.views import send_email
urlpatterns = [path("send/", send_email)]from_ is de Python-schrijfwijze van het from-veld (from is een gereserveerd woord). onboarding@messagebird.dev is de gedeelde onboarding-afzender van Bird (geen domeinverificatie nodig) en delivered@messagebird.dev is een sandbox-ontvanger die altijd aflevert.
De SDK probeert tijdelijke fouten automatisch opnieuw en hergebruikt de idempotentiesleutel van de aanroep bij elke poging. Dit voorkomt dat een nieuwe poging het bericht twee keer verstuurt.
3. Probeer het uit
Codevoorbeeld
python manage.py runserver
curl -X POST http://localhost:8000/send/Bird accepteert het bericht met een 202 en bezorgt het asynchroon; je view retourneert het em_-ID en de status:
Codevoorbeeld
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted"
}Haal het bericht op via zijn em_-ID met client.email.get(...) en volg hoe de status verandert van accepted naar delivered.
Volgende stappen
- Python SDK e-mailreferentie: alle methoden en opties.
- Verstuur je eerste e-mail: dezelfde flow met curl en de volledige sandbox-adreslijst.
- Verzenddomeinen: verifieer je eigen domein voor productieverzending.
- E-mail API-referentie: het volledige request- en responseschema.
Gerelateerde bronnen
Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.
Bekijk de gidsTesting email without spamming anyoneOntdek de mogelijkheidTest email deliveryVolg het leerpadOperate messaging reliably
Probeer de oefening en ontvang een implementatieoverzicht