django-sendgrid-v5
An implementation of Django's EmailBackend compatible with sendgrid-python v5+
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive MIT license. It is well-suited for Django projects that already use or plan to adopt SendGrid for email delivery, offering both standard Django email functionality and SendGrid-specific features like dynamic templates and webhook event processing.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a SendGrid account and API key; set SENDGRID_API_KEY environment variable before use.
- Low friction installation with three straightforward dependencies (django, python-http-client, sendgrid).
- The package is actively maintained with recent commits and no known vulnerabilities.
License · maintenance · safety
permissive license (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
last release 2026-01-05 (221 days) · last repo commit 2026-06-03 · 346 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 483,757 downloads/mo, #6,410 on PyPI
Alternatives
Verify before relying
pip install django-sendgrid-v5
# In Django settings.py:
EMAIL_BACKEND = "sendgrid_backend.SendgridBackend"
SENDGRID_API_KEY = os.environ["SENDGRID_API_KEY"]
# Then use Django's standard email API:
from django.core.mail import send_mail
send_mail('Subject', 'Message', 'from@example.com', ['to@example.com'])- Whether webhook signature verification works with all SendGrid event types beyond the documented examples.
- Performance characteristics when sending bulk emails or handling high-frequency webhook events.
- Compatibility with Django versions not explicitly listed in classifiers (3.2, 4.0, 4.1, 4.2, 5.0).
What it is and what it does
django-sendgrid-v5 replaces Django's default SMTP email backend with one that routes all outgoing mail through SendGrid's REST API. Instead of configuring SMTP credentials, you set a SendGrid API key and point Django's EMAIL_BACKEND setting to the package's SendgridBackend class. It works with Django's standard send_mail() and EmailMessage classes, so existing code requires minimal changes.
The package extends Django's email system with SendGrid-specific features: dynamic template support with JSON data injection, email open and click tracking, unsubscribe group management, custom personalization arguments, scheduled send times, and IP pool selection. It also includes webhook helpers to cryptographically verify and process delivery events (bounces, opens, clicks) from SendGrid's event webhook, useful for tracking email status in your application's database.
Use it for
- Replace SMTP with SendGrid's REST API for more reliable email delivery in production Django applications.
- Use SendGrid dynamic templates with personalized JSON data to send complex, branded emails from Django.
- Track email opens and clicks by enabling SendGrid's tracking features through simple configuration flags.
- Implement webhook handlers to log email delivery events (delivered, bounced, blocked) to your application database.
- Send emails in sandbox mode during development or testing to avoid accidentally sending real messages.
- Support multi-region deployments by switching SendGrid API endpoints (e.g., EU region) via configuration.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive MIT license. It is well-suited for Django projects that already use or plan to adopt SendGrid for email delivery, offering both standard Django email functionality and SendGrid-specific features like dynamic templates and webhook event processing.
Install
django-sendgrid-v5 on PyPI
Before you install
Low friction installation with three straightforward dependencies (django, python-http-client, sendgrid). The package is actively maintained with recent commits and no known vulnerabilities.
Requires a SendGrid account and API key; set SENDGRID_API_KEY environment variable before use.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install django-sendgrid-v5
# In Django settings.py:
EMAIL_BACKEND = "sendgrid_backend.SendgridBackend"
SENDGRID_API_KEY = os.environ["SENDGRID_API_KEY"]
# Then use Django's standard email API:
from django.core.mail import send_mail
send_mail('Subject', 'Message', 'from@example.com', ['to@example.com'])
Verify before relying
- Whether webhook signature verification works with all SendGrid event types beyond the documented examples.
- Performance characteristics when sending bulk emails or handling high-frequency webhook events.
- Compatibility with Django versions not explicitly listed in classifiers (3.2, 4.0, 4.1, 4.2, 5.0).
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesdjangopython-http-clientsendgrid |
| Maintenance | Actively maintained 221 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 483,757 / month, #6,410 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: DjangoIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9 |
Evidence: django_sendgrid_v5-1.3.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “django sendgrid email backend”
- django-sendgrid-v5Provides a Django email backend that sends messages through…
- django-anymailSends and receives email in Django through multiple transactional…
- dj-email-urlConfigures Django email backends from environment variables using…
Give your agent the search over MCP, or paste the wish link into any chat.
More Dynamic Content packages
MarkupSafe provides a text object that escapes special characters so untrusted strings can be safely embedded in HTML and XML without injection attacks.
Jinja2 is a templating engine that renders dynamic content by combining templates with Python-like syntax and data, supporting template inheritance, macros, autoescaping, and sandboxed execution.
Soupsieve is a CSS selector library designed to work with Beautiful Soup 4 to select, match, and filter HTML and XML elements using modern CSS selectors from CSS level 1 through CSS level 4 specifications.
Install it if you use Beautiful Soup for HTML or XML parsing and want modern CSS selector support.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
Flask is a lightweight WSGI web application framework for building web applications in Python, from simple single-page sites to complex multi-route applications.
Mako compiles Python-embedded templates into Python modules for fast rendering, supporting layout inheritance, custom functions, and direct Python expressions within template syntax.
See also sendgrid · smtpapi · django-anymail · django-post_office · apache-airflow-providers-sendgrid · django-templated-email · django-ses · django-naomi · postmarker · python-http-client