From 2becf6cb6a3041e911d343a80d8bbfee2e8e5535 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Thu, 18 Jun 2026 18:07:12 +0200 Subject: [PATCH] Plesk updateForwardTargets: CLI-Params + Response loggen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- .../services/emailProvider/pleskProvider.ts | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/backend/src/services/emailProvider/pleskProvider.ts b/backend/src/services/emailProvider/pleskProvider.ts index 60bcd72e..83c56f8c 100644 --- a/backend/src/services/emailProvider/pleskProvider.ts +++ b/backend/src/services/emailProvider/pleskProvider.ts @@ -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: [ - '--update', email, - '-mailgroup', 'false', - '-forwarding', 'true', - '-forwarding-addresses', `set:${targets.join(',')}`, - ], - }); + 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,