From 913c058c939f149ef98950384849f2fa0d4479d3 Mon Sep 17 00:00:00 2001 From: fs Date: Fri, 31 Jul 2026 17:07:51 +0200 Subject: [PATCH] send_mail: Erfolg als INFO ins mail-Log MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bisher schrieb nur der Fehlerfall. Damit war ein funktionierender Versand von einem stummen nicht zu unterscheiden: beim Deploy am 31.07.2026 zeigte bin/logs.php gar keinen mail-Kanal, was "nichts abgeschickt" und "einwandfrei versandt" gleichzeitig bedeuten konnte. Geloggt wird nur der Kontext (welches Formular) — die Werte sind feste Labels wie "Kontaktanfrage" oder "Sportheimbuchung", nie Empfänger, Absender oder Inhalt. Das verbietet die Logging-Regel, und für "läuft der Versand?" braucht es davon auch nichts. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01NzeVVgMCrzCDJAKeLEdKr7 --- app/helpers.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/helpers.php b/app/helpers.php index c41167e..57cc85e 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -1294,6 +1294,14 @@ function send_mail(array $opts): bool $mail->Body = (string) $opts['body']; $mail->send(); + // Erfolg als INFO mitschreiben. Vorher loggte nur der Fehlerfall, damit war ein + // funktionierender Versand von einem stummen nicht zu unterscheiden — beim + // Deploy am 31.07.2026 stand im Log gar kein mail-Kanal, was „nichts + // abgeschickt" und „einwandfrei versandt" gleichzeitig bedeuten konnte. + // Nur der Kontext (welches Formular), NIE Empfänger, Absender oder Inhalt: + // das verbietet die Logging-Regel, und für die Frage „läuft der Versand?" + // braucht es davon auch nichts. + log_write('mail', 'INFO', "{$context} versandt."); return true; } catch (Throwable $e) { log_write('mail', 'ERROR', "{$context} fehlgeschlagen: " . $e->getMessage());