Fix: Sandbox Postfix-Sync via sudo-Helper (Permission denied)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main v1.1.352
boban 2026-04-26 22:30:26 +02:00
parent 9673e717d1
commit 00f715480f
1 changed files with 6 additions and 3 deletions

View File

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