Тук има два проблема:
- Вие не премахвате адреса от пощата, така че когато добавите втори, първият все още е там и и двамата ще виждат другия адрес.
- Използвате
header
пренасочване във вашия цикъл, без да прекъсва вашия скрипт. Това може да доведе до изпълнение на кода след пренасочването, но няма гаранция колко и колко дълго.
Първият проблем, който можете да разрешите, като изчистите получателите в края на цикъла:
$mail->ClearAllRecipients();
Що се отнася до втория проблем, не трябва да пренасочвате никъде вътре в цикъла и когато пренасочвате, след като всички съобщения са изпратени, трябва да излезете от своя scipt, като използвате exit;
така че нищо да не се изпълнява след това.