imap-notify/README.md
2025-06-23 00:48:54 +02:00

96 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# IMAP-ntfy Notification Service
Eine Go-Anwendung, die jede Minute ein IMAP-Postfach abfragt und bei neuen E-Mails eine Benachrichtigung per ntfy sendet. Unterstützt variable ntfy-Server, Authentifizierung und einen Action-Button für Antworten.
## Features
- **Polling:** Überprüft alle 60 Sekunden das IMAP-Postfach auf neue E-Mails.
- **Benachrichtigung:** Sendet bei neuen E-Mails einen Push an einen ntfy-Server.
- **Authentifizierung:** Unterstützt Basic Auth für ntfy.
- **Action-Button:** Fügt einen "Antworten"-Button mit Reply-To-Adresse hinzu.
- **Konfiguration:** Alle Einstellungen erfolgen über Umgebungsvariablen.
- **Docker:** Einfache Deployment-Option mit Docker und Docker Compose.
- **Text-Inhalt:** Extrahiert den reinen Text-Inhalt der E-Mail und kürzt ihn auf 200 Zeichen.
## Voraussetzungen
- **Go** (mind. 1.21, nur für lokale Entwicklung)
- **Docker** und **Docker Compose**
- **IMAP-fähiges E-Mail-Postfach**
- **ntfy-Server** (z.B. `https://ntfy.sh` oder selbst gehostet)
## Konfiguration
Die Anwendung wird ausschließlich über Umgebungsvariablen konfiguriert:
| Variable | Beschreibung | Beispielwert |
|------------------|--------------------------------------|-----------------------------|
| `IMAP_SERVER` | IMAP-Server-Hostname | `imap.gmail.com` |
| `IMAP_PORT` | IMAP-Port | `993` |
| `EMAIL_USER` | E-Mail-Adresse | `your@email.com` |
| `EMAIL_PASSWORD` | E-Mail-Passwort oder App-Passwort | `your-secret-password` |
| `NTFY_SERVER` | ntfy-Server-URL | `https://ntfy.sh` |
| `NTFY_TOPIC` | ntfy-Topic | `my-github-notifications` |
| `NTFY_USER` | ntfy-Benutzername (optional) | `ntfy-username` |
| `NTFY_PASSWORD` | ntfy-Passwort (optional) | `ntfy-password` |
## Installation und Start
### 1. Repository klonen
```bash
git clone https://github.com/your-repository/imap-ntfy.git
cd imap-ntfy
```
### 2. Umgebungsvariablen anpassen
Passe die Werte in der Datei `docker-compose.yml` an deine Einstellungen an.
### 3. Docker Compose starten
```bash
docker-compose up --build -d
```
### 4. Logs überwachen
```bash
docker-compose logs -f
```
## Sicherheitshinweise
- **Verwende App-Passwörter** für E-Mail-Konten.
- **Sensible Daten** wie Passwörter sollten nicht in Klartext in Versionskontrollsystemen gespeichert werden.
- **Für ntfy:** Setze `NTFY_USER` und `NTFY_PASSWORD` für geschützte Topics.
## Beispiel für eine ntfy-Benachrichtigung
**Titel:**
`Testnachricht`
**Inhalt:**
```
Betreff: Testnachricht
Von: absender@example.com
Antwort an: absender@example.com
Hallo, dies ist eine Testnachricht. Hier steht der Inhalt der E-Mail, auf maximal 200 Zeichen gekürzt...
```
**Action-Button:**
"Antworten" öffnet das Standard-E-Mail-Programm mit vorausgefülltem Empfänger.
## Technische Details
- **Polling-Intervall:** 60 Sekunden
- **Markierung:** Nach erfolgreicher Benachrichtigung wird die E-Mail als gelesen markiert (`\Seen`)
- **Action-Button:** Fügt einen "Antworten"-Button mit Reply-To-Adresse hinzu
- **Text-Inhalt:** Es wird nur der reine Text-Inhalt der E-Mail extrahiert und verwendet
- **Flexibilität:** Unterstützt jeden ntfy-Server, auch selbst gehostet
---
**Hinweis:**
Die Anwendung ist für den produktiven Einsatz geeignet und kann leicht erweitert werden.