ho un problema che non riesco a capire.
ho un applicazione che invia email tramite ajax-php; da un normale form html prelevo i dati tramite javascript, li codifico con la funzione encodeURIComponent e li inserisco nel corpo di una richiesta post creata con ajax.
questo più o meno il codice:

invia.htm

Codice PHP:
<form action="#">
<
input accesskey="B" name="_nome" tabindex="10" type="text" size="40" maxlength="40" title="AccessKey B, TabIndex 10 || Inserire il nome" />
<
textarea accesskey="Q" name="_testo" tabindex="15" rows="10" cols="60" title="AccessKey Q, TabIndex 15 || Inserire il testo dell'email"></textarea>
......
</
form
invia.js

Codice PHP:
for (var i=0;i<datiEmail.length;i++)
{
        var 
dato=encodeURIComponent(datiEmail[i]);
        
dato+="=";
        
dato+=encodeURIComponent(datiEmail[i].value);
        
body.push(dato);
        
}
return 
body.join("&");
.....
var 
xmlhttp=creaOggettoXMLHttp();
xmlhttp.open("post","invia.php",true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.onreadystatechange=function()
{
    if (
xmlhttp.readyState==4)
    {
        if (
xmlhttp.status==200)
        {
            
alert(xmlhttp.responseText);
        }
        else
        {
                
alert("Errore durante l'invio del messaggio(" xmlhttp.statusText ")."
                         
        }
    }
};
xmlhttp.send(body); 
invia.php

Codice PHP:
header("Content-Type: text/plain;");
.....
recupero i dati da $_POST[]
.....
mail("$destinatario","$oggetto","$messaggio","$headers");
...... 
il problema:
se nella textarea c'è un ritorno a capo la funzione mail() di php genera un errore. se invece nella textarea c'è di tutto tranne dei ritorno a capo, tutto funziona perfettamente.
con un alert sulla variabile condificata tramite encodeURIComponent() il ritorno a capo lo codifica con "%0A".

aiuto....