📋 Table of Contents
📣 Overview
A Python library for email automation supporting SMTP and Outlook protocols. Send emails
via CLI or Python API. Outlook support is Windows-only (requires pywin32).
📌 Quick Start
Installation
pip install fluxmail
pip install --upgrade fluxmail # upgrade
CLI
export FLUXMAIL_USERNAME=me@gmail.com
export FLUXMAIL_PASSWORD=secret
fluxmail --type smtp --host smtp.gmail.com --port 587 --tls \
--subject "Hello" \
--recipients friend@example.com \
--body "Hi from the CLI!"
Python API
from fluxmail import FluxMail
FluxMail(
object_type="smtp",
host="smtp.gmail.com",
port=587,
use_tls=True,
username="me@gmail.com",
password="secret",
).create(
subject="Hello",
recipients=["friend@example.com"],
body="Hi there!",
).send()
Full documentation: 👉 ihassan8.github.io/fluxmail
⚙️ Configuration
Pass credentials via environment variables so they never appear in shell history:
export FLUXMAIL_USERNAME=me@gmail.com
export FLUXMAIL_PASSWORD=secret
Works with any SMTP provider — Gmail, SendGrid, Amazon SES, Mailgun, Office 365, or a self-hosted relay.
See Configuration for provider-specific settings.
CI Pipeline
Every push to main and every pull request runs automatically via shared-workflows:
| Job | What it checks |
|---|---|
| Test | pytest on Python 3.9–3.12 x Ubuntu + Windows |
| Lint | ruff check + ruff format --check |
| Type Check | mypy src/ |
| Audit | pip-audit — all dependencies scanned for known CVEs |
| Coverage | pytest-cov — report posted to the Actions job summary |
👪 Contributing
All contributions are welcome! Fork the repo, make your changes, and open a pull request.
You can also open an issue with the label enhancement.
Don't forget to ⭐ star the project!
📃 Full Docs · 🔧 Report a Bug
Metadata
Release files for fluxmail 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fluxmail-0.3.3.tar.gz | 282.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fluxmail-0.3.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 303.6 kB
Release files / fluxmail-0.3.3.tar.gz
| Download URL | fluxmail-0.3.3.tar.gz |
|---|---|
| Size | 282.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d49f4fc17869da8359e1cbe0af4b29f52b960ddc1ab0130880270da76cfaa6e
|
|
BLAKE2b-256 checksum How to use checksums |
91eb9c4bb4ef61b1fa09bc902d8c6b96abfc9e998e3b59f986ad09b193ea9d1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / fluxmail-0.3.3-py3-none-any.whl
| Download URL | fluxmail-0.3.3-py3-none-any.whl |
|---|---|
| Size | 21.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3f34c917cad0f55a52251a7f520809176a3d66799f486ee6000ba8aefc778b9d
|
|
BLAKE2b-256 checksum How to use checksums |
0cfb3b45acb1ae8985fe8504968ef372dd9be251542f829cbdf88916920138c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|