auth/mail: Magic-Link-2FA (M1) + Mailversand über die Queue
- Magic-Link-Login übergibt bei aktiviertem 2FA an die 2FA-Challenge, statt sie zu umgehen (M1). - Bestätigungs-/Benachrichtigungs-Mails (Kontakt, Recht, Kündigung, Widerruf, Magic-Link) laufen als ShouldQueue+afterCommit über die Queue, damit die Response nicht am SMTP-Roundtrip hängt. Hinweis: Der Queue-Worker muss im Betrieb laufen und überwacht werden, da fristrelevante Bestätigungen darüber zugestellt werden (siehe Betriebsüberwachung). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
6764fb9bc2
commit
ea8d017445
20 changed files with 135 additions and 60 deletions
|
|
@ -77,10 +77,17 @@ class ReportFormController extends Controller
|
|||
'requester_ip' => $request->ip(),
|
||||
]);
|
||||
|
||||
// Unverzügliche Eingangsbestätigung (DSA Art. 16 Abs. 4) + interner
|
||||
// Hinweis ans Melde-Postfach, damit Fristen nicht an der Queue hängen.
|
||||
Mail::to($legalRequest->requester_email)->send(new LegalRequestReceived($legalRequest));
|
||||
Mail::to($this->operatorRecipient($request))->send(new LegalRequestSubmitted($legalRequest));
|
||||
// Eingangsbestätigung (DSA Art. 16 Abs. 4) + interner Hinweis ans
|
||||
// Melde-Postfach. Versand über die Queue (afterCommit), damit die
|
||||
// Response nicht am SMTP-Roundtrip hängt — setzt einen laufenden
|
||||
// Queue-Worker voraus (Ops-Monitoring erforderlich, da die Zustellung
|
||||
// fristrelevant ist).
|
||||
Mail::to($legalRequest->requester_email)->queue(
|
||||
(new LegalRequestReceived($legalRequest))->afterCommit()
|
||||
);
|
||||
Mail::to($this->operatorRecipient($request))->queue(
|
||||
(new LegalRequestSubmitted($legalRequest))->afterCommit()
|
||||
);
|
||||
|
||||
return back()->with('report-status', __('static.report_form.flash_received', [
|
||||
'reference' => $legalRequest->reference(),
|
||||
|
|
|
|||
|
|
@ -71,8 +71,12 @@ class TerminationController extends Controller
|
|||
|
||||
// § 312k Abs. 4 BGB: Zugang der Kündigungserklärung sofort auf
|
||||
// elektronischem Wege bestätigen (Inhalt, Datum, Uhrzeit).
|
||||
Mail::to($terminationRequest->email)->send(new TerminationRequestReceived($terminationRequest));
|
||||
Mail::to($this->operatorRecipient())->send(new TerminationRequestSubmitted($terminationRequest));
|
||||
Mail::to($terminationRequest->email)->queue(
|
||||
(new TerminationRequestReceived($terminationRequest))->afterCommit()
|
||||
);
|
||||
Mail::to($this->operatorRecipient())->queue(
|
||||
(new TerminationRequestSubmitted($terminationRequest))->afterCommit()
|
||||
);
|
||||
|
||||
return $this->done();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,8 +49,12 @@ class WithdrawalController extends Controller
|
|||
]);
|
||||
|
||||
// Gesetzlich vorgeschrieben: sofortige automatische Eingangsbestätigung.
|
||||
Mail::to($withdrawalRequest->email)->send(new WithdrawalRequestReceived($withdrawalRequest));
|
||||
Mail::to($this->operatorRecipient())->send(new WithdrawalRequestSubmitted($withdrawalRequest));
|
||||
Mail::to($withdrawalRequest->email)->queue(
|
||||
(new WithdrawalRequestReceived($withdrawalRequest))->afterCommit()
|
||||
);
|
||||
Mail::to($this->operatorRecipient())->queue(
|
||||
(new WithdrawalRequestSubmitted($withdrawalRequest))->afterCommit()
|
||||
);
|
||||
|
||||
return $this->done();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue