All frameworks

Send Email from FastAPI

Send emails from FastAPI with async support

1

Install the SDK

pip install sendpigeon
2

Set your API key

SENDPIGEON_API_KEY=your_api_key_here

Get your API key from the dashboard.

3

Send your first email

python
import os
from fastapi import FastAPI
from pydantic import BaseModel, EmailStr
from sendpigeon import SendPigeon

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

class ContactRequest(BaseModel):
    email: EmailStr
    name: str

@app.post("/contact")
async def contact(data: ContactRequest):
    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 {"success": True}

Why use SendPigeon with FastAPI?

  • Async-native integration
  • Pydantic validation
  • OpenAPI docs included
  • 99.9% deliverability with dedicated IPs
  • Real-time analytics and webhook events
🧪

Testing locally? Use our local email server to catch emails without sending real ones.

🎨

Prefer visual editing? Build email templates with our free drag-and-drop builder. Learn more →

Ready to send emails from FastAPI?

Start free with 3,000 emails/month. No credit card required.

Get Started Free

Other python frameworks