Visto che nella pagina fai 2(pdf, invio email) cose, vediamo di capire quale delle due manda il loop la pagina.

1 Rimuovi la parte del invio della mail e controlla se il pdf viene creato correttamente(salvalo su disco).
2 Rimuovi la parte della creazione del pdf e prova ad inviare una semplice mail

Cmq dovresti dar retta a Ranma 1/2 ... usa il server locale

PS:
Codice PHP:
...
$body .= "Content-Disposition: attachment".$eol.$eol;  
$body .= $attachment.$eol$body .= "--".$separator."--"// send message  
mail($to$subject$body$headers); 
Ma se vuoi usare phpmailer, perchè chiami la mail()? dovresti usare la Send() di phpmailer