R2.1: Kontaktformular-Backend (Controller + Mailable + Brand-Empfaenger)
POST kontakt mit Validierung, Honeypot (vor der Validierung, stilles Abnicken), IP-Rate-Limit (5/h) + throttle:10,1. Versand an brand.contact_email (neue CONTACT_EMAIL_*-Keys, [EXTERN: echte Adressen]), Fallback MAIL_FROM_ADDRESS; Reply-To = Absender. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
1e9c2f96ed
commit
a4d054b3ab
7 changed files with 234 additions and 0 deletions
|
|
@ -3,6 +3,7 @@
|
|||
use App\Enums\Portal;
|
||||
use App\Http\Controllers\PressReleasePreviewController;
|
||||
use App\Http\Controllers\Web\CategoryController;
|
||||
use App\Http\Controllers\Web\ContactController;
|
||||
use App\Http\Controllers\Web\HomeController;
|
||||
use App\Http\Controllers\Web\NewsroomDetailController;
|
||||
use App\Http\Controllers\Web\NewsroomsController;
|
||||
|
|
@ -188,6 +189,9 @@ Route::prefix('{edition}')->whereIn('edition', SetEdition::EDITIONS)->group(func
|
|||
// Statische Seiten
|
||||
Route::view('faq', 'web.faq')->name('faq');
|
||||
Route::view('kontakt', 'web.kontakt')->name('kontakt');
|
||||
Route::post('kontakt', ContactController::class)
|
||||
->middleware('throttle:10,1')
|
||||
->name('kontakt.store');
|
||||
Route::view('ueber-uns', 'web.ueber-uns')->name('ueber-uns');
|
||||
Route::get('veroeffentlichen', VeroeffentlichenController::class)->name('veroeffentlichen');
|
||||
Route::get('suche', SucheController::class)->name('suche');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue