# E-Mail-Vorlagen Diese Anwendung verwendet angepasste E-Mail-Vorlagen mit einem professionellen B2IN-Design. ## 📧 Verfügbare E-Mail-Vorlagen ### 1. Partner-Einladung **Datei:** `partner-invitation.blade.php` Wird versendet wenn ein Partner eingeladen wird. **Variablen:** - `$contactFullName` - Vollständiger Name des Kontakts - `$companyName` - Firmenname - `$partnerType` - Partner-Typ (Rolle) - `$invitationUrl` - Einladungs-URL - `$expiresAt` - Ablaufdatum der Einladung - `$invitation` - Komplettes Invitation-Objekt ### 2. Passwort zurücksetzen **Klasse:** `App\Notifications\CustomResetPasswordNotification` Wird versendet wenn ein Benutzer sein Passwort zurücksetzen möchte. **Features:** - Zeitlich begrenzter Reset-Link - Klare Sicherheitshinweise - Responsives Design ### 3. E-Mail-Verifizierung **Klasse:** `App\Notifications\CustomVerifyEmailNotification` Wird nach der Registrierung versendet. **Features:** - Zeitlich begrenzter Bestätigungslink (60 Minuten) - Willkommenstext - Klare Call-to-Action ## 🎨 Design-System Das E-Mail-Design verwendet das B2IN-Theme mit folgenden Farben: - **Primary (Anthracite):** `#2b3f51` - **Secondary (Dynamic Blue):** `#20a0da` - **Font:** Instrument Sans ### CSS-Theme Die Styles befinden sich in: ``` resources/views/vendor/mail/html/themes/b2in.css ``` ## 🔧 Anpassungen ### Neue E-Mail-Vorlage erstellen 1. Erstelle eine neue Blade-Datei in `resources/views/emails/` 2. Verwende die Mail-Komponenten: ```blade @component('mail::message') # Überschrift Hier kommt der Inhalt. @component('mail::button', ['url' => $actionUrl, 'color' => 'primary']) Button Text @endcomponent @component('mail::panel') Wichtige Information in einem Panel @endcomponent Mit freundlichen Grüßen Ihr **{{ config('app.name') }}** Team @endcomponent ``` ### Verfügbare Komponenten #### Button ```blade @component('mail::button', ['url' => $url, 'color' => 'primary|success|error']) Button Text @endcomponent ``` **Farben:** - `primary` - Blauer Gradient (Standard) - `success` - Grüner Gradient - `error` - Roter Gradient #### Panel ```blade @component('mail::panel') Wichtiger Inhalt @endcomponent ``` #### Tabelle ```blade @component('mail::table') | Spalte 1 | Spalte 2 | |:---------|:---------| | Wert 1 | Wert 2 | @endcomponent ``` ### Custom Notification erstellen 1. Erstelle eine neue Notification-Klasse in `app/Notifications/` 2. Erweitere die gewünschte Laravel-Notification 3. Überschreibe die `buildMailMessage` Methode Beispiel: ```php subject('Betreff') ->greeting('Hallo!') ->line('Nachrichtentext') ->action('Button', $url) ->salutation('Grüße'); } } ``` ## 📱 Responsive Design Alle E-Mails sind für mobile Geräte optimiert und passen sich automatisch der Bildschirmgröße an. ## 🌙 Dark Mode Das Theme unterstützt automatisch Dark Mode für E-Mail-Clients, die dies unterstützen. ## 🧪 Testen E-Mails können im Browser getestet werden. Laravel speichert E-Mails standardmäßig im Log: ```bash php artisan tinker >>> $user = App\Models\User::first(); >>> $user->sendPasswordResetNotification('test-token'); ``` Die E-Mail wird in `storage/logs/laravel.log` gespeichert. ## 🔄 Weitere E-Mail-Typen hinzufügen Falls weitere E-Mail-Typen benötigt werden: 1. Erstelle eine neue Mailable-Klasse: `php artisan make:mail YourMail --markdown=emails.your-mail` 2. Erstelle die Blade-Vorlage in `resources/views/emails/` 3. Verwende die Standard-Komponenten für konsistentes Design 4. Sende die E-Mail mit `Mail::to($user)->send(new YourMail())` ## 📝 Hinweise - Alle E-Mails verwenden automatisch das B2IN-Theme - Die Vorlagen sind mehrsprachig vorbereitet - Header und Footer sind in allen E-Mails konsistent - E-Mails werden inline-styled für beste Kompatibilität mit E-Mail-Clients