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).'];