Beh, il problema è che fai considerazioni sul singolo invio ... ma tu cosa vuoi ottenere?
Se alla fine dell'invio vuoi una segnalazione del tipo "invio di una o più mail fallito" ti basta settare una var in questo modo:

if (!mail(...)) then {$invio_fallito=true;}

e alla fine del ciclo:

if($invio_fallito) then {echo "invio di una o più mail fallito";}

Penso però che hai fini pratici possa servire anche sapere l'indirizzo il cui invio è fallito, a tal scopo invece del booleano puoi creare un vettore "$invio_fallito(index) = $destinatario " in questo modo avrai un vettore contenente la lista degli invii falliti...