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:
Ma se vuoi usare phpmailer, perchè chiami la mail()? dovresti usare la Send() di phpmailerCodice PHP:...
$body .= "Content-Disposition: attachment".$eol.$eol;
$body .= $attachment.$eol; $body .= "--".$separator."--"; // send message
mail($to, $subject, $body, $headers);

Rispondi quotando