All guides

Send Email from Django

Send emails from Django views and management commands

1. Install the SDK

pip install sendpigeon

2. Set your API key

Add your SendPigeon API key to your environment variables:

SENDPIGEON_API_KEY=your_api_key_here

Get your API key from the dashboard.

3. Send your first email

# views.py
import json
import os

from django.http import JsonResponse
from django.views.decorators.http import require_POST
from sendpigeon import SendPigeon

client = SendPigeon(os.environ["SENDPIGEON_API_KEY"])

@require_POST
def contact(request):
    data = json.loads(request.body)

    client.send(
        to=data["email"],
        from_email="hello@yourdomain.com",
        subject=f"Thanks for reaching out, {data['name']}!",
        html="<h1>We got your message</h1><p>We'll get back to you soon.</p>",
    )

    return JsonResponse({"success": True})

Features

  • Works with Django views
  • Async support with Django 4.1+
  • Management command integration

Ready to send emails?

Get started with 1,000 free emails per month.

Start for free