No description
				
			
		| go | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||
| README.md | ||
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.shoder 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_USERundNTFY_PASSWORDfü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.