b2in/resources/views/emails/README.md
2026-01-23 17:33:10 +01:00

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

  1. Erstelle eine neue Blade-Datei in resources/views/emails/
  2. 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 Gradient
  • error - 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

  1. Erstelle eine neue Notification-Klasse in app/Notifications/
  2. Erweitere die gewünschte Laravel-Notification
  3. Überschreibe die buildMailMessage Methode

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:

  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