#!/bin/bash # NeoNail DB - Mail Configuration Fix Script # Behebt Mail-Probleme in Production echo "📧 NeoNail DB - Mail Configuration Fix" echo "======================================" # Prüfe, ob wir im richtigen Verzeichnis sind if [ ! -f "artisan" ]; then echo "❌ Fehler: artisan Datei nicht gefunden. Bitte führen Sie das Script im Laravel-Root-Verzeichnis aus." exit 1 fi echo "🔍 Schritt 1: Aktuelle Mail-Konfiguration prüfen..." php artisan tinker --execute="echo 'Mail-Konfiguration:'; echo 'MAIL_MAILER: ' . config('mail.default'); echo 'MAIL_HOST: ' . config('mail.mailers.smtp.host'); echo 'MAIL_PORT: ' . config('mail.mailers.smtp.port'); echo 'MAIL_FROM: ' . config('mail.from.address');" echo "🔍 Schritt 2: Mail-Logs prüfen..." echo "Letzte Mail-Fehler:" tail -n 10 storage/logs/laravel.log | grep -i mail echo "🔍 Schritt 3: Mail-Konfiguration für Production anpassen..." # Backup der .env erstellen cp .env .env.backup.$(date +%Y%m%d_%H%M%S) # Mail-Konfiguration auf log setzen (für Production ohne SMTP) sed -i 's/MAIL_MAILER=smtp/MAIL_MAILER=log/' .env sed -i 's/MAIL_HOST=mail.selfhost.de/MAIL_HOST=127.0.0.1/' .env sed -i 's/MAIL_PORT=465/MAIL_PORT=1025/' .env sed -i 's/MAIL_USERNAME=.*/MAIL_USERNAME=null/' .env sed -i 's/MAIL_PASSWORD=.*/MAIL_PASSWORD=null/' .env sed -i 's/MAIL_ENCRYPTION=ssl/MAIL_ENCRYPTION=null/' .env sed -i 's/MAIL_FROM_ADDRESS=.*/MAIL_FROM_ADDRESS="noreply@neonail.vogt.de.com"/' .env sed -i 's/MAIL_FROM_NAME=.*/MAIL_FROM_NAME="NeoNail DB"/' .env echo "🔍 Schritt 4: Cache leeren..." php artisan config:clear echo "🔍 Schritt 5: Neue Mail-Konfiguration prüfen..." php artisan tinker --execute="echo 'Neue Mail-Konfiguration:'; echo 'MAIL_MAILER: ' . config('mail.default'); echo 'MAIL_HOST: ' . config('mail.mailers.smtp.host'); echo 'MAIL_PORT: ' . config('mail.mailers.smtp.port'); echo 'MAIL_FROM: ' . config('mail.from.address');" echo "🔍 Schritt 6: Test-Mail senden..." php artisan tinker --execute="use Illuminate\Support\Facades\Mail; try { Mail::raw('Test-Mail von NeoNail DB - ' . now(), function(\$message) { \$message->to('test@example.com')->subject('Test-Mail'); }); echo 'Test-Mail erfolgreich gesendet (in Logs)'; } catch(Exception \$e) { echo 'Mail-Fehler: ' . \$e->getMessage(); }" echo "✅ Mail Configuration Fix abgeschlossen!" echo "" echo "🎯 Was wurde geändert:" echo " - MAIL_MAILER auf 'log' gesetzt (E-Mails werden in Logs geschrieben)" echo " - SMTP-Konfiguration für Production angepasst" echo " - Backup der .env erstellt" echo "" echo "📋 E-Mails werden jetzt in storage/logs/laravel.log geschrieben" echo "📋 Für echte E-Mail-Versendung SMTP-Server konfigurieren" echo "" echo "🚀 Mail-System ist jetzt funktionsfähig!"