presseportale/app/Mail/ContactRequestSubmitted.php
Kevin Adametz a4d054b3ab 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>
2026-07-03 08:14:52 +00:00

35 lines
895 B
PHP

<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;
class ContactRequestSubmitted extends Mailable
{
use Queueable, SerializesModels;
public function __construct(
public readonly string $senderName,
public readonly string $senderEmail,
public readonly string $messageText,
public readonly string $host,
) {}
public function envelope(): Envelope
{
return new Envelope(
subject: 'Neue Kontaktanfrage über '.$this->host,
replyTo: [new Address($this->senderEmail, $this->senderName)],
);
}
public function content(): Content
{
return new Content(view: 'emails.contact.submitted');
}
}