From 00f715480f1afb14ba5c323d6dd23cd70a0dc555 Mon Sep 17 00:00:00 2001 From: boban Date: Sun, 26 Apr 2026 22:30:26 +0200 Subject: [PATCH] Fix: Sandbox Postfix-Sync via sudo-Helper (Permission denied) Co-Authored-By: Claude Sonnet 4.6 --- app/Services/SandboxService.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/Services/SandboxService.php b/app/Services/SandboxService.php index f136e53..719c1ab 100644 --- a/app/Services/SandboxService.php +++ b/app/Services/SandboxService.php @@ -69,18 +69,21 @@ class SandboxService $content .= "\n"; } + $tmp = tempnam(sys_get_temp_dir(), 'mw_sandbox_'); try { - file_put_contents($file, $content); + file_put_contents($tmp, $content); } catch (\Throwable $e) { + @unlink($tmp); return ['ok' => false, 'message' => 'Fehler beim Schreiben: ' . $e->getMessage()]; } $out = []; $code = 0; - exec('postmap ' . escapeshellarg($file) . ' 2>&1', $out, $code); + exec('sudo -n /usr/local/sbin/mailwolt-sandbox-sync ' . escapeshellarg($tmp) . ' 2>&1', $out, $code); + @unlink($tmp); if ($code !== 0) { - return ['ok' => false, 'message' => 'postmap Fehler: ' . implode(' ', $out)]; + return ['ok' => false, 'message' => 'Sync-Fehler: ' . implode(' ', $out)]; } return ['ok' => true, 'message' => 'Transport-Datei synchronisiert (' . count($lines) . ' Einträge).'];