Python · Django
Envie seu primeiro e-mail a partir de uma view Django usando o cliente síncrono do Bird Python SDK. Três etapas: instalar, enviar, executar.
1. Instale o SDK
Exemplo de código
mkdir bird-django-quickstart
cd bird-django-quickstart
python -m pip install messagebird-sdk django
django-admin startproject config .
python manage.py startapp myappRequer Python 3.10+. O pacote de importação é bird.
2. Envie um e-mail
Exporte sua chave API. O SDK lê BIRD_API_KEY do ambiente e infere a região (us1 ou eu1) a partir do prefixo bk_us1_ / bk_eu1_, então Bird() não precisa de argumentos:
Exemplo de código
export BIRD_API_KEY="bk_us1_..."Adicione uma view em myapp/views.py. Crie um Bird no carregamento do módulo e reutilize-o entre as requisições: ele mantém um pool de conexões e pode ser compartilhado entre threads com segurança.
Exemplo de código
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)A isenção de CSRF mantém este exemplo local com cURL funcional. Adicione autenticação e uma política de CSRF adequada antes de expor a rota.
Conecte a rota em config/urls.py:
Exemplo de código
from django.urls import path
from myapp.views import send_email
urlpatterns = [path("send/", send_email)]from_ é a forma em Python do campo from (from é uma palavra reservada). onboarding@messagebird.dev é o remetente compartilhado de onboarding do Bird (sem necessidade de verificação de domínio) e delivered@messagebird.dev é um destinatário sandbox que sempre entrega.
O SDK tenta novamente em caso de falhas transitórias automaticamente e reutiliza a chave de idempotência da chamada em cada tentativa. Isso evita que uma nova tentativa envie a mensagem duas vezes.
3. Teste
Exemplo de código
python manage.py runserver
curl -X POST http://localhost:8000/send/Bird aceita a mensagem com um 202 e a entrega de forma assíncrona; sua view retorna o ID e o status do em_:
Exemplo de código
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted"
}Busque a mensagem pelo ID em_ com client.email.get(...) e acompanhe o status mudar de accepted para delivered.
Próximos passos
- Referência de e-mail do Python SDK: todos os métodos e opções.
- Envie seu primeiro e-mail: o mesmo fluxo com curl e a lista completa de endereços sandbox.
- Domínios de envio: verifique seu próprio domínio para envio em produção.
- Referência do API de e-mail: o esquema completo de requisição e resposta.
Recursos relacionados
Continue com a documentação, guias e exemplos sobre este tópico. Os recursos estão em inglês.
Assista ao guiaTesting email without spamming anyoneExplore a funcionalidadeTest email deliverySiga o percurso de aprendizagemOperate messaging reliably
Experimente na prática e obtenha um resumo de implementação