No description
  • Python 44.6%
  • Shell 39.9%
  • Dockerfile 15.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-04-11 22:33:02 +00:00
cups New 2026-04-11 22:30:11 +00:00
email2print New 2026-04-11 22:30:11 +00:00
.env.example Version 1.0 2026-04-11 22:33:02 +00:00
.gitignore Version 1.0 2026-04-11 22:33:02 +00:00
docker-compose.yml New 2026-04-11 22:30:11 +00:00
README.md first commit 2026-04-11 22:24:43 +00:00

📧➡️🖨️ Email2Print (Docker + CUPS)

Ein einfaches, selbstgehostetes System, um E-Mails automatisch auszudrucken.

👉 Unterstützt:

  • PDF
  • Bilder (JPG, PNG, etc.)
  • Office Dateien (DOCX, XLSX, PPTX, etc.)

Alles läuft vollständig in Docker – inklusive eigenem CUPS Printserver.


🚀 Features

  • 📧 Automatisches Abrufen von E-Mails (IMAP)

  • 🖨️ Direktes Drucken über CUPS

  • 📄 Automatische Konvertierung:

    • Bilder → PDF
    • Office → PDF
  • 🔁 Vollständig reproduzierbar via Docker

  • ⚙️ Konfiguration über .env

  • 🔒 Optional: Filter nach Ziel-E-Mail-Adresse


🧱 Architektur

E-Mail → email2print → CUPS → Drucker

📦 Voraussetzungen

  • Docker
  • Docker Compose
  • Netzwerkzugriff auf den Drucker (IPP)

⚙️ Installation

1. Repository klonen

git clone https://github.com/DEIN-USERNAME/email2print.git
cd email2print

2. .env anpassen

cp .env.example .env
nano .env

3. Container starten

docker compose up -d --build

🧪 Test

Sende eine E-Mail mit Anhang an:

print@deinedomain.de

Unterstützte Dateien:

  • PDF
  • PNG / JPG
  • DOCX / XLSX / PPTX

👉 Der Anhang wird automatisch gedruckt.


🔧 Konfiguration

Drucker

PRINTER_NAME=Dell_Color_MFP_H625cdw
PRINTER_URI=ipp://192.168.2.39/ipp/

E-Mail

EMAIL_ACCOUNT=deinlogin@gmx.de
EMAIL_PASSWORD=deinpasswort

Optional: Zieladresse filtern

TARGET_EMAIL=print@deinedomain.de

Nur E-Mails an diese Adresse werden verarbeitet.


📁 Projektstruktur

.
├── docker-compose.yml
├── .env
├── .env.example
│
├── cups/
│   ├── Dockerfile
│   ├── cups-init.sh
│   └── printers.conf.template
│
└── email2print/
    ├── Dockerfile
    ├── print_email.py
    └── convert_and_print.sh

🛠️ Unterstützte Formate

Typ Beispiele
PDF .pdf
Bilder .jpg, .png, .gif, .bmp, .tiff, .webp
Dokumente .docx, .xlsx, .pptx, .odt, .rtf, .txt, .csv

🔒 Sicherheit (optional)

  • Absender-Whitelist möglich
  • Betrieb im internen Netzwerk empfohlen
  • Kein öffentlicher Zugriff auf CUPS nötig

🧠 Hinweise

  • Große Dateien können etwas Zeit benötigen
  • LibreOffice läuft im Headless-Modus
  • ImageMagick wird für Bildkonvertierung verwendet

🧾 Lizenz

MIT License


🙌 Beitrag

Pull Requests sind willkommen!


⭐ Support

Wenn dir das Projekt gefällt:

👉 Star da lassen 😄