ここには2つの問題があります:
- メールからアドレスを削除していないため、2つ目のアドレスを追加しても、最初のアドレスはそのまま残り、両方にもう1つのアドレスが表示されます。
header
を使用しています スクリプトを終了せずにループ内でリダイレクトします。これにより、リダイレクト後にコードが実行される可能性がありますが、その量と期間は保証されません。
ループの最後で受信者をクリアすることで解決できる最初の問題:
$mail->ClearAllRecipients();
2番目の問題については、ループ内のどこにもリダイレクトしないでください。すべてのメッセージが送信された後にリダイレクトする場合は、exit;
を使用してsciptを終了する必要があります。 その後は何も実行されないようにします。