23-01-2026
This commit is contained in:
parent
07959c0ba2
commit
854ce02bf6
166 changed files with 32909 additions and 1262 deletions
174
resources/views/emails/README.md
Normal file
174
resources/views/emails/README.md
Normal file
|
|
@ -0,0 +1,174 @@
|
|||
# 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
|
||||
<?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:
|
||||
|
||||
```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
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue