'Mailer', 'MAIL_HOST' => 'Host', 'MAIL_PORT' => 'Port', 'MAIL_USERNAME' => 'Username', 'MAIL_PASSWORD' => 'Password', 'MAIL_ENCRYPTION' => 'Encryption', 'MAIL_FROM_ADDRESS' => 'From Address', 'MAIL_FROM_NAME' => 'From Name' ]; foreach ($mailSettings as $setting => $description) { if (preg_match("/$setting=(.*)/", $envContent, $matches)) { $value = trim($matches[1]); if ($setting === 'MAIL_PASSWORD') { $value = str_repeat('*', min(strlen($value), 4)) . '...'; } echo " ✅ $description: $value\n"; } else { echo " ❌ $description: Nicht gesetzt\n"; } } } else { echo " ❌ .env Datei nicht gefunden\n"; } // 2. Laravel Mail-Konfiguration testen echo "\n2. 🐘 Laravel Mail-Konfiguration testen:\n"; try { require_once 'vendor/autoload.php'; // Laravel Bootstrap $app = require_once 'bootstrap/app.php'; $app->make('Illuminate\Contracts\Console\Kernel')->bootstrap(); // Mail-Konfiguration abrufen $mailConfig = config('mail'); echo " 📋 Mail-Konfiguration:\n"; echo " - Default: " . ($mailConfig['default'] ?? 'nicht gesetzt') . "\n"; echo " - Mailers: " . implode(', ', array_keys($mailConfig['mailers'] ?? [])) . "\n"; if (isset($mailConfig['mailers']['smtp'])) { $smtpConfig = $mailConfig['mailers']['smtp']; echo " - SMTP Host: " . ($smtpConfig['host'] ?? 'nicht gesetzt') . "\n"; echo " - SMTP Port: " . ($smtpConfig['port'] ?? 'nicht gesetzt') . "\n"; echo " - SMTP Encryption: " . ($smtpConfig['encryption'] ?? 'nicht gesetzt') . "\n"; echo " - SMTP Username: " . ($smtpConfig['username'] ?? 'nicht gesetzt') . "\n"; echo " - SMTP Password: " . (isset($smtpConfig['password']) ? '***' : 'nicht gesetzt') . "\n"; } } catch (Exception $e) { echo " ❌ Fehler beim Laden der Mail-Konfiguration: " . $e->getMessage() . "\n"; } // 3. Test-Mail senden echo "\n3. 📤 Test-Mail senden...\n"; try { // Test-E-Mail-Adresse (kann angepasst werden) $testEmail = 'test@example.com'; echo " 📧 Sende Test-Mail an: $testEmail\n"; // Mail senden $result = \Illuminate\Support\Facades\Mail::raw('Dies ist eine Test-Mail von der NeoNail Datenbank. Zeitstempel: ' . now() . ' Server: ' . $_SERVER['SERVER_NAME'] ?? 'Unbekannt' . ' Diese E-Mail wurde automatisch generiert, um die E-Mail-Konfiguration zu testen. Viele Grüße, NeoNail DB System', function($message) use ($testEmail) { $message->to($testEmail) ->subject('Test-Mail: NeoNail DB E-Mail-Konfiguration') ->from(config('mail.from.address'), config('mail.from.name')); }); echo " ✅ Test-Mail erfolgreich gesendet!\n"; } catch (Exception $e) { echo " ❌ Fehler beim Senden der Test-Mail: " . $e->getMessage() . "\n"; // Detaillierte Fehleranalyse echo " 🔍 Fehleranalyse:\n"; if (strpos($e->getMessage(), 'Connection refused') !== false) { echo " - Problem: Verbindung zum SMTP-Server verweigert\n"; echo " - Lösung: Prüfen Sie MAIL_HOST und MAIL_PORT\n"; } elseif (strpos($e->getMessage(), 'Authentication failed') !== false) { echo " - Problem: Authentifizierung fehlgeschlagen\n"; echo " - Lösung: Prüfen Sie MAIL_USERNAME und MAIL_PASSWORD\n"; } elseif (strpos($e->getMessage(), 'SSL') !== false) { echo " - Problem: SSL/TLS Verbindungsproblem\n"; echo " - Lösung: Prüfen Sie MAIL_ENCRYPTION (SSL/TLS)\n"; } else { echo " - Unbekannter Fehler: " . $e->getMessage() . "\n"; } } // 4. Alternative Test-Mail mit SwiftMailer echo "\n4. 📤 Alternative Test-Mail (SwiftMailer)...\n"; try { // SwiftMailer direkt testen $transport = new \Swift_SmtpTransport( config('mail.mailers.smtp.host'), config('mail.mailers.smtp.port'), config('mail.mailers.smtp.encryption') ); $transport->setUsername(config('mail.mailers.smtp.username')); $transport->setPassword(config('mail.mailers.smtp.password')); $mailer = new \Swift_Mailer($transport); $message = new \Swift_Message('SwiftMailer Test: NeoNail DB'); $message->setFrom([config('mail.from.address') => config('mail.from.name')]); $message->setTo(['test@example.com' => 'Test User']); $message->setBody('Dies ist eine SwiftMailer Test-Mail von der NeoNail Datenbank. Zeitstempel: ' . now() . ' Viele Grüße, NeoNail DB System'); $result = $mailer->send($message); if ($result) { echo " ✅ SwiftMailer Test-Mail erfolgreich gesendet!\n"; } else { echo " ❌ SwiftMailer Test-Mail fehlgeschlagen\n"; } } catch (Exception $e) { echo " ❌ SwiftMailer Fehler: " . $e->getMessage() . "\n"; } // 5. E-Mail-Template erstellen echo "\n5. 📝 E-Mail-Template erstellen...\n"; $emailTemplatePath = 'resources/views/emails/test.blade.php'; $emailTemplateContent = ' NeoNail DB Test-Mail

🎨 NeoNail DB

E-Mail-Konfiguration Test

✅ E-Mail-Konfiguration erfolgreich!

Hallo,

dies ist eine Test-Mail von der NeoNail Datenbank. Die E-Mail-Konfiguration funktioniert korrekt!

📋 Test-Details:

Die E-Mail-Funktionalität ist jetzt bereit für Benachrichtigungen und Passwort-Reset.

'; // Template-Verzeichnis erstellen $emailDir = 'resources/views/emails'; if (!is_dir($emailDir)) { mkdir($emailDir, 0755, true); echo " ✅ E-Mail-Verzeichnis erstellt: $emailDir\n"; } file_put_contents($emailTemplatePath, $emailTemplateContent); echo " ✅ E-Mail-Template erstellt: $emailTemplatePath\n"; // 6. Template-Mail senden echo "\n6. 📤 Template-Mail senden...\n"; try { $result = \Illuminate\Support\Facades\Mail::send('emails.test', [], function($message) { $message->to('test@example.com') ->subject('Template Test: NeoNail DB') ->from(config('mail.from.address'), config('mail.from.name')); }); echo " ✅ Template-Mail erfolgreich gesendet!\n"; } catch (Exception $e) { echo " ❌ Template-Mail Fehler: " . $e->getMessage() . "\n"; } echo "\n✅ E-Mail-Test abgeschlossen!\n"; echo "📋 Nächste Schritte:\n"; echo "1. Prüfen Sie Ihr E-Mail-Postfach (test@example.com)\n"; echo "2. Falls keine E-Mail ankommt, prüfen Sie Spam-Ordner\n"; echo "3. Falls Fehler auftreten, prüfen Sie die SMTP-Einstellungen\n"; echo "4. Für echte Tests, ändern Sie die E-Mail-Adresse im Script\n"; echo "\n🔗 E-Mail-Funktionen sind jetzt verfügbar für:\n"; echo "- Passwort-Reset\n"; echo "- Benutzer-Benachrichtigungen\n"; echo "- Admin-Benachrichtigungen\n"; ?>