Moncherote:
Puedes insertar los saltos de carro, pero no del modo en que pretendes.
El protocolo mailto además de la dirección, lleva headers, que es lo que envías con "subject" y "body". La cuestión es que deben ir codificados con los conocidos como "caracteres seguros para Internet" o "Internet-safe characters". Esto no es nada del otro mundo, ya que los url's están formados por dichos caracteres.
Así, pues para colocar el caracter de espacio en tu cadena, deberías poner
%20, pero funciona aún sin este formato. El problema es el caracter del enter. Este está compuesto por un retorno de carro (hexadecimal 0d) y un avance de línea (0a).
Entonces, donde necesites un salto en el cuerpo del correo, inserta
%0d%0a. Modificando tu código para que tenga un salto antes del enlace, quedaría así:
Cita: <html>
<body>
<script language="javascript">
function mailpage()
{
mail_str = "mailto:
[email protected]?subject=Ejemplo: " + document.title;
mail_str += "&body=Te recomiendo que visites esta página (forosdelweb.com) -- " + document.title;
mail_str += ".
%0d%0aEnlace: " + location.href;
location.href = mail_str;
}
</script>
<a HREF="javascript
:mailpage()">E-mail This Page</a>
</body>
</html>
Debe funcionar independientemente de si tu cliente de correo envía formato html o texto sin formato.
Espero que la explicación te ayude, pero también creo que deberías hacer caso a las recomendaciones de Tunait.
Saludos.