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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user