Python · Django
Envoyez votre premier e-mail depuis une vue Django avec le client synchrone du Bird Python SDK. Trois étapes : installer, envoyer, exécuter.
1. Installer le SDK
Exemple de code
mkdir bird-django-quickstart
cd bird-django-quickstart
python -m pip install messagebird-sdk django
django-admin startproject config .
python manage.py startapp myappNécessite Python 3.10+. Le paquet à importer est bird.
2. Envoyer un e-mail
Exportez votre clé API. Le SDK lit BIRD_API_KEY depuis l'environnement et déduit la région (us1 ou eu1) à partir du préfixe bk_us1_ / bk_eu1_, donc Bird() ne nécessite aucun argument :
Exemple de code
export BIRD_API_KEY="bk_us1_..."Ajoutez une vue dans myapp/views.py. Construisez un seul Bird au chargement du module et réutilisez-le pour toutes les requêtes : il mutualise les connexions et peut être partagé entre les threads.
Exemple de code
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)L'exemption CSRF permet d'exécuter cet exemple cURL en local. Ajoutez l'authentification et une politique CSRF appropriée avant d'exposer la route.
Reliez le tout dans config/urls.py :
Exemple de code
from django.urls import path
from myapp.views import send_email
urlpatterns = [path("send/", send_email)]from_ est la forme Python du champ from (from est un mot réservé). onboarding@messagebird.dev est l'expéditeur d'intégration partagé de Bird (aucune vérification de domaine nécessaire) et delivered@messagebird.dev est un destinataire sandbox qui aboutit toujours.
Le SDK réessaye automatiquement les erreurs transitoires et réutilise la clé d'idempotence de l'appel à chaque tentative. Cela empêche une nouvelle tentative d'envoyer le message deux fois.
3. Tester
Exemple de code
python manage.py runserver
curl -X POST http://localhost:8000/send/Bird accepte le message avec un 202 et le distribue de manière asynchrone ; votre vue renvoie l'ID em_ et le statut :
Exemple de code
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted"
}Récupérez le message par son ID em_ avec client.email.get(...) et observez le statut passer de accepted à delivered.
Étapes suivantes
- Référence e-mail Python SDK : toutes les méthodes et options.
- Envoyer votre premier e-mail : le même flux avec curl et la liste complète des adresses sandbox.
- Domaines d'envoi : vérifiez votre propre domaine pour l'envoi en production.
- Référence API e-mail : le schéma complet de requête et de réponse.
Ressources associées
Poursuivez avec la documentation, les guides et les exemples sur ce sujet. Les ressources sont en anglais.
Regarder le guideTesting email without spamming anyoneExplorer la fonctionnalitéTest email deliverySuivre le parcours d'apprentissageOperate messaging reliably
Essayez la pratique et obtenez un guide d'implémentation