Q:

Mostrando o resultado de acordo com o carregamento e não esperar a finalização do script pra exibir os resultado na tela

A minha dúvida é a seguinte: o código está funcionando como esperado o problema quando eu coloco uma lista grande de email (100) a página fica toda em branca "Carregando" e só me retorna o resultado depois que o script termina de ser executado,  preciso de uma solução que me possibilite me mostrar o resultado conforme o loop e passando na tela.  
Pensei em utilizar o jQuery para poder automatizar enviando 1 por 1 e ir mostrando o resultado penso que dessa forma o servidor não vai sobrecarregar. 
Não sei o que fazer agora, mas preciso de uma ajuda de pelo o menos saber o que pesquisar e qual função devo utilizar para ir carregando os dados dinamicamente. 
O código é esse aqui abaixo:
 $email = explode("\n", $to);
 $headers .= "From: ".$nome."  <".$de. ">\r\n";
 $message = stripslashes($message);

 $i = 0;
 $count = 1;
 while($email[$i]) {
     $ok = "Ok!"; 
     if(mail($email[$i], $subject, $message, $headers))
       echo "Aguarde: $count <b>".$email[$i]."</b> <font color=red>Email Enviado </font> <br><hr>";
     else
       echo "Aguarde!:  $count <b>".$email[$i]."</b> <font color=red>Email não enviado.  </font><br><hr>";
     $i++;
     $count++;
 }
 $count--;
 if($ok == "ok")
   echo "";

A:

Se a intencão fôr ir vendo cada mail que foi enviado no lado do cliente então uma solução é jQuery/JavaScript usando AJAX para controlar a velocidade de envio.  Por exemplo enviando um novo email a cada sucesso do pedido AJAX anterior, ou até mesmo criando um curto tempo de espera entre cada envio. 
Nesse cado seria necessário ter os emails numa array por exemplo no lado do cliente, ou ter somente o numero total de mails e ir enviando pedidos ajax com o numero que deve ser enviado a cada vez. 
Assim no PHP seria importante exportar uma variável global com os mails ou com o numero máximo:
<? php echo '<script>var totalMails = '.$total_mails. ';</script>'; ? >

e num ficheiro PHP á parte (que seria para tratar os pedidos ajax):
if (! isset($_POST['nr'])) die('Erro no pedido ajax');
$i = $_POST['nr'];
if(mail($email[$i], $subject, $message, $headers))
     echo "Aguarde: $count <b>".$email[$i]."</b> <font color=red>Email Enviado </font> <br><hr>";
 else
     echo "Aguarde!:  $count <b>".$email[$i]."</b> <font color=red>Email não enviado.  </font><br><hr>";

E a parte do jQuery/JavaScript seria algo como:
var totalMails = 100; // isto vem do PHP
function enviarPedido(nr) {
    $.ajax({
        type: "POST",
        url: "enviador.php",
        data: {
            nr: nr
        }
    }).done(function (msg) {
        $('#div_resultado').append(msg);
        if (totalMails > 0) enviarPedido(totalMails--);
    });
}
enviarPedido(totalMails--); // assim começa em 100 e vai diminuindo até 0

