Plesk updateForwardTargets: CLI-Params + Response loggen

Sync zeigt im Prod-Log nur emailExists, kein update – entweder läuft
der Update-Code nicht durch oder Plesk lehnt ihn ab und wir sehen
es nicht (try/catch hat alles geschluckt).

CLI-Params vor dem Call loggen + Plesk-Response vollständig dumpen.
Zusätzlich Response auf code != 0 / stderr-Error prüfen statt
pauschal success=true zurückzugeben.
This commit is contained in:
2026-06-18 18:07:12 +02:00
parent 24e152b201
commit 2becf6cb6a
@@ -507,14 +507,26 @@ export class PleskEmailProvider implements IEmailProvider {
// Mails landen weiterhin bei den Mailgroup-Members.
// Der Service-Layer importiert vorher die Mailgroup-Members in die
// `targets`-Liste, damit beim Umschalten nichts verloren geht.
await this.request('POST', '/api/v2/cli/mail/call', {
params: [
const cliParams = [
'--update', email,
'-mailgroup', 'false',
'-forwarding', 'true',
'-forwarding-addresses', `set:${targets.join(',')}`,
],
});
];
console.log('[Plesk updateForwardTargets] CLI params:', cliParams);
const result = await this.request<{ code: number; stdout: string; stderr: string }>(
'POST',
'/api/v2/cli/mail/call',
{ params: cliParams },
);
console.log('[Plesk updateForwardTargets] response:', JSON.stringify(result, null, 2));
if (result.code !== 0 || /error|failed/i.test(result.stderr || '')) {
return {
success: false,
error: result.stderr?.trim() || result.stdout?.trim() || `Plesk returned code ${result.code}`,
};
}
return {
success: true,