No description
Find a file
2025-06-23 10:04:12 +02:00
.env.example first commit 2025-06-23 00:48:54 +02:00
.gitignore first commit 2025-06-23 00:48:54 +02:00
docker-compose.yml first commit 2025-06-23 00:48:54 +02:00
Dockerfile first commit 2025-06-23 00:48:54 +02:00
go.mod first commit 2025-06-23 00:48:54 +02:00
go.sum first commit 2025-06-23 00:48:54 +02:00
main.go rempve text body 2025-06-23 10:04:12 +02:00
README.md first commit 2025-06-23 00:48:54 +02:00

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

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

docker-compose up --build -d

4. Logs überwachen

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.