# E-Mail IMAP Synchronisation Setup

## 🔒 Sichere Konfiguration

### 1. **Umgebungsvariablen in .env hinzufügen:**

```bash
###> E-Mail IMAP Synchronisation ###
# IMAP Server Konfiguration für E-Mail-Synchronisation
IMAP_HOST=mx2f92.netcup.net
IMAP_PORT=993
IMAP_USERNAME=terminbuchung@dpohl-engineering.de
IMAP_PASSWORD=meinpasswort
IMAP_SSL=true
###< E-Mail IMAP Synchronisation ###
```

### 2. **Service-Konfiguration (bereits implementiert):**

Die Service-Konfiguration in `config/services.yaml` ist bereits korrekt eingerichtet:

```yaml
# E-Mail IMAP Synchronisation Service Configuration
App\Service\EmailSyncService:
    arguments:
        $imapHost: '%env(IMAP_HOST)%'
        $imapPort: '%env(IMAP_PORT)%'
        $imapUsername: '%env(IMAP_USERNAME)%'
        $imapPassword: '%env(IMAP_PASSWORD)%'
        $imapSsl: '%env(IMAP_SSL)%'
```

## 🚀 Verwendung

### **Manuelle Synchronisation:**
```bash
php bin/console app:sync-emails
```

### **Web-Interface:**
- Gehen Sie zu `/public/appointments/admin/emails`
- Klicken Sie auf "E-Mails synchronisieren"
- Oder "Verbindung testen" für einen Test

### **Automatische Synchronisation:**
```bash
# Cronjob für alle 5 Minuten
*/5 * * * * cd /path/to/project && php bin/console app:sync-emails
```

## 🔧 Voraussetzungen

### **PHP IMAP-Extension installieren:**

#### **XAMPP/WAMP:**
1. Öffnen Sie `php.ini`
2. Entfernen Sie das `;` vor: `extension=imap`
3. Starten Sie Apache neu

#### **Docker:**
```dockerfile
RUN apt-get update && apt-get install -y \
    libc-client-dev \
    libkrb5-dev \
    && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
    && docker-php-ext-install imap
```

#### **Ubuntu/Debian:**
```bash
sudo apt-get install php-imap
```

#### **Windows:**
```bash
# Download php_imap.dll von php.net
# In php.ini hinzufügen: extension=imap
```

## 📧 Funktionen

### **Was wird synchronisiert:**
- ✅ E-Mail-Inhalt (Text + HTML)
- ✅ Absender/Empfänger
- ✅ Betreff
- ✅ Anhänge
- ✅ Zeitstempel
- ✅ Duplikate werden vermieden

### **Was wird NICHT synchronisiert:**
- ❌ Gelöschte E-Mails (werden nicht abgerufen)
- ❌ Spam-Ordner
- ❌ Archivierte E-Mails

## 🛡️ Sicherheit

### **Passwort-Schutz:**
- ✅ Passwörter werden in `.env` gespeichert
- ✅ `.env` ist in `.gitignore` enthalten
- ✅ Keine hardcodierten Passwörter im Code

### **SSL/TLS:**
- ✅ Verschlüsselte Verbindung (Port 993)
- ✅ SSL-Zertifikat-Validierung

## 🔍 Troubleshooting

### **"IMAP-Extension ist nicht installiert":**
```bash
# Prüfen ob IMAP verfügbar ist:
php -m | grep imap

# Falls nicht verfügbar, installieren (siehe oben)
```

### **"IMAP-Verbindung fehlgeschlagen":**
1. Prüfen Sie die IMAP-Daten in `.env`
2. Testen Sie die Verbindung mit einem E-Mail-Client
3. Prüfen Sie Firewall-Einstellungen

### **"Keine E-Mails gefunden":**
- Das Postfach ist leer
- Oder alle E-Mails wurden bereits synchronisiert

## 📊 Monitoring

### **Logs:**
```bash
# Symfony Logs
tail -f var/log/dev.log | grep "EmailSync"

# Oder spezifische Logs
grep "EmailSync" var/log/dev.log
```

### **Datenbank:**
```sql
-- E-Mails in der Datenbank anzeigen
SELECT COUNT(*) FROM email_messages;
SELECT * FROM email_messages ORDER BY received_at DESC LIMIT 10;
```
