GatorV tiene razon.
 
Es mejor que hagas el envio como ele.name = 'autor[]'
en php recibiras un array autor con todos los valores. 
$autor = $_POST['autor']; 
asi tienes en PHP  $autor[0] = "Valor0", $autor[1] = "Valor1", etc.. 
tu PHP que solo llega hasta 5: 
 Código PHP:
    $i=0;
while($i<5){ 
$autores.=$_POST['autor'.$i]."-".$_POST['mail'.$i]."<br>"; 
$i++; 
} 
    
  Se podria hacer, para todos los valores pasados, asi: 
 Código PHP:
    $autor = $_POST['autor'];
$mail = $_POST['mail'];
 
for($i=0 ; $i < count($autor) ; i++)
{
   $autores .= $autor[$i]."-".$mail[$i]."<br>";
} 
    
  o mejor asi:  
 Código PHP:
    $autor = $_POST['autor'];
$mail = $_POST['mail'];
 
foreach( $autor as $numAutor => $valor )
{
  $autores .= $valor."-".$mail[$numAutor]."<br>";
} 
    
  Para que esto funcione tienes que pasar los parametros como: 
ele.name = 'autor[]'
ele.name = 'mail[]'
ó 
ele.name = 'autor['+num+']' si quieres poner tu el indice, si pones solo 'autor[]' PHP automaticamente los ira llamando autor[1], autor[2], autor[3] ....