4.1 KiB
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
- Erstelle eine neue Blade-Datei in
resources/views/emails/ - Verwende die Mail-Komponenten:
@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
@component('mail::button', ['url' => $url, 'color' => 'primary|success|error'])
Button Text
@endcomponent
Farben:
primary- Blauer Gradient (Standard)success- Grüner Gradienterror- Roter Gradient
Panel
@component('mail::panel')
Wichtiger Inhalt
@endcomponent
Tabelle
@component('mail::table')
| Spalte 1 | Spalte 2 |
|:---------|:---------|
| Wert 1 | Wert 2 |
@endcomponent
Custom Notification erstellen
- Erstelle eine neue Notification-Klasse in
app/Notifications/ - Erweitere die gewünschte Laravel-Notification
- Überschreibe die
buildMailMessageMethode
Beispiel:
<?php
namespace App\Notifications;
use Illuminate\Auth\Notifications\ResetPassword;
use Illuminate\Notifications\Messages\MailMessage;
class CustomNotification extends ResetPassword
{
protected function buildMailMessage($url)
{
return (new MailMessage)
->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:
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:
- Erstelle eine neue Mailable-Klasse:
php artisan make:mail YourMail --markdown=emails.your-mail - Erstelle die Blade-Vorlage in
resources/views/emails/ - Verwende die Standard-Komponenten für konsistentes Design
- 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