Der er to problemer her:
- Du fjerner ikke adressen fra mailen, så når du tilføjer en anden, er den første der stadig, og begge vil se den anden adresse.
- Du bruger en
header
omdirigere i din loop uden at afslutte dit script. Dette kan få kode efter omdirigeringen til at køre, men der er ingen garanti for hvor meget og hvor længe.
Det første problem kan du løse ved at rydde modtagerne i slutningen af løkken:
$mail->ClearAllRecipients();
Hvad angår det andet problem, bør du ikke omdirigere nogen steder i løkken, og når du omdirigerer efter alle meddelelser er blevet sendt, skal du afslutte dit script ved at bruge exit;
så intet bliver udført efter det.