Skip to main content

A Python library for Email Automation. FluxMail allows you to create and send emails using either SMTP or Outlook. It supports both Windows and Linux platforms (with Outlook available only on Windows)

Project description


📋 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!

🔶 View all contributors


📃 Full Docs  ·  🔧 Report a Bug

(back to top)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fluxmail-0.3.3.tar.gz (282.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fluxmail-0.3.3-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file fluxmail-0.3.3.tar.gz.

File metadata

  • Download URL: fluxmail-0.3.3.tar.gz
  • Upload date:
  • Size: 282.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for fluxmail-0.3.3.tar.gz
Algorithm Hash digest
SHA256 7d49f4fc17869da8359e1cbe0af4b29f52b960ddc1ab0130880270da76cfaa6e
MD5 d05a9029169cf4316e4bc9977c1b18b0
BLAKE2b-256 91eb9c4bb4ef61b1fa09bc902d8c6b96abfc9e998e3b59f986ad09b193ea9d1d

See more details on using hashes here.

File details

Details for the file fluxmail-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: fluxmail-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for fluxmail-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3f34c917cad0f55a52251a7f520809176a3d66799f486ee6000ba8aefc778b9d
MD5 dedddef5b0349bb71d3afbe8ded2315d
BLAKE2b-256 0cfb3b45acb1ae8985fe8504968ef372dd9be251542f829cbdf88916920138c9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page