redmail
Email sending library
What it is and what it does
Redmail is a Python email-sending library that abstracts away the complexity of the standard library's smtplib and email.mime modules. Instead of manually constructing MIME objects and managing SMTP connections, you instantiate an EmailSender, configure it with a host and port, and call send() with subject, recipients, and body content. It supports attachments, Jinja2 templating for dynamic email bodies, embedded images, formatted HTML tables, and cc/bcc recipients.
The package is designed for developers who need to send emails programmatically without boilerplate. Its main dependency is jinja2, which powers template rendering. However, the project is no longer maintained—the last release was 1266 days ago—so it receives no updates, bug fixes, or security patches. It remains functional for basic email tasks but carries the risk of incompatibility with future Python or email provider changes.
Use it for:
- Send templated notification emails from a web application using Jinja variables for personalization.
- Automate bulk email reports with embedded charts, tables, or attachments from a scheduled task.
- Build a contact form or user signup flow that sends confirmation emails with minimal boilerplate code.
- Generate and email PDF invoices or receipts with attachments to customers.
- Send alerts or logs via email with formatted HTML tables and embedded images.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Redmail simplifies sending emails with Python by wrapping SMTP into a high-level API that handles attachments, Jinja templating, embedded images, and formatted tables.
Yes, if you need a simple email-sending abstraction and are comfortable with an abandoned package. The API is clean, the single dependency (jinja2) is stable, and there are no known vulnerabilities. Install it for prototypes, internal tools, or low-risk automation. Avoid it for production systems where you need active maintenance, security updates, or support for evolving email standards.
Install
redmail on PyPI
pip
pip install redmailuv
uv add redmailpoetry
poetry add redmailInstalling redmail
Before you install
Installation is straightforward with a single dependency (jinja2) and low friction. However, the package is abandoned—last release was 1266 days ago—so no active maintenance or security updates are available.
License in practice
MIT License permits free use, modification, and distribution with minimal restrictions, making it safe for commercial and open-source projects.
Quickstart
pip install redmail
from redmail import EmailSender
email = EmailSender(host="localhost", port=25)
email.send(
subject="Test",
sender="me@example.com",
receivers=["you@example.com"],
text="Hello!"
)
Requires an SMTP server (local or remote) to be configured and accessible; credentials and host/port must be provided to EmailSender.
Verify before relying
- Whether the package works reliably with modern Python versions despite being abandoned.
- Whether jinja2 dependency updates have introduced any breaking changes since the last redmail release.
- Real-world compatibility with current email providers' SMTP configurations and security requirements.
Package facts
| License | MIT License Copyright (c) 2022 Mikael Koli Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — jinja2 |
| Maintenance | abandoned — 1,266 days since the last release |
| First released | |
| Downloads | 100,950/month — #12,967 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: redmail-0.6.0-py3-none-any.whl
Tags
More Email packages
aiosmtplib is an asynchronous SMTP client that…
permissive · top 5,000 on PyPI
Wikipedia-APIWikipedia-API is a Python wrapper for…
permissive · top 5,000 on PyPI
python-oxmsgParses Outlook MSG files to extract email…
permissive · top 5,000 on PyPI
django-anymailSends and receives email in Django through…
permissive · top 5,000 on PyPI
IMAPClientIMAPClient provides a Pythonic interface to…
permissive · top 5,000 on PyPI
mailjet-restA Python wrapper for the Mailjet Email API that…
permissive · top 5,000 on PyPI
email-toWraps Python's standard email modules to…
permissive · top 15,000 on PyPI
emailsBuild and send HTML and plain-text emails with…
permissive · top 15,000 on PyPI
yagmailSimplifies sending emails via Gmail or any SMTP…
permissive · top 15,000 on PyPI
fastapi-mailSends emails and attachments asynchronously…
permissive · top 5,000 on PyPI
resendResend Python SDK provides a client library for…
permissive · top 5,000 on PyPI
Flask-MailFlask-Mail adds email-sending functionality to…
permissive · top 5,000 on PyPI
django-templated-mailSends Django emails using template files…
permissive · top 15,000 on PyPI
mailtrapOfficial Python client for Mailtrap's email…
permissive · top 15,000 on PyPI
simplegmailA Python wrapper around the Gmail API that…
permissive · top 15,000 on PyPI
django-post_officeDjango Post Office queues and sends emails…
permissive · top 15,000 on PyPI