Originariamente inviato da Natasha18
...
Le mie email arivano senza problemi ai domini @yahoo, @hotmail, @virgilio e tanti altri ma non arrivano al @libero....
<?php
...
function MAIL_NVLP($fromname, $fromaddress, $toname, $toaddress, $subject, $message)
{
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "X-Priority: 3\n";
$headers .= "X-MSMail-Priority: Normal\n";
$headers .= "X-Mailer: Microsoft Outlook Express 6.00.2800.1081\n";
$headers .= "From: \"".$fromname."\" <".$fromaddress.">\n";
$headers .= "Reply-To: <".$fromaddress.">\n";
return mail($toaddress, $subject, $message, $headers);
}

MAIL_NVLP($fromname, $fromaddress, $toname, $toaddress, $subject, $message);

?>
prova innanzitutto, nelle headers, a inserire un return |\r| in aggiunta a nuova riga |\n|.
Stando alle specifiche dell'RFC822 ogni campo delle headers DEVE essere separato da <CR><LF> (che stanno appunto per \r\n).

Ad esempio:
$headers = "MIME-Version: 1.0\r\n";

Inoltre, dsarebbe utile sapere la motivazione con cui libero.it respinge il messaggio.
Tieni presente che libero esegue un reverse DNS lookup process su ogni messaggio in entrata. In altre parole esige che nel campo Received entrambi nome di dominio e IP corrispondano:
ad esempio:
Received: from unknown (HELO dominio.it) (12.345.67.8)
devono risolversi correttamente.

Ciao!