Ayuda Formulario PHP!!!

Hola a todos a ver si algun eoliano me echa un capote!
estoy progrando un formulario php+flash
la parte flash esta más que correcta, osea que lo que me ocupa es el php...
este es el codigo:
<?PHP
$archivo = fopen("formulario.csv" , "w");
if ($archivo) {
//variables que hayamos declarado en la pelicula de flash
$datos="Nombre del autor: $_POST[nom]
+ Su email:,$_POST[email]
+ Mensaje:,$_POST[mensaje]";
fputs ($archivo, $datos);
}
echo $pulsado;
fclose ($archivo);
?>
<?php
include "libmail.php";
$m= new Mail;
//correo desde el que se enviará
$m->From( "formulario@miservidor.loquesea" );
//correo al que se enviará
$m->To( "webmaster@miservidor.loquesea" );
$m->Subject( "$_POST[nom]" );
//variables que he declarado en la pelicula de flash
$m->Body( "Nombre del autor:
$_POST[nom]
Su email:
$_POST[email]
Mensaje:
$_POST[mensaje]" );
$m->Priority(1) ;
$m->Attach( "formulario.csv", "application/vnd.ms-excel", "attachment" );
$m->Send();
?>

weno esto es lo que hay.el script funciona, pero recibo el correo con el codigo html como texto es decir:
Nombre del autor:
<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Arial Baltic" SIZE="13" COLOR="#000000" LETTERSPACING="0" KERNING="0">nombre que he puesto</FONT></P></TEXTFORMAT>
Su email:
<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Arial Baltic" SIZE="13" COLOR="#000000" LETTERSPACING="0" KERNING="0">email que he puesto</FONT></P></TEXTFORMAT>
Mensaje:
<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Arial Baltic" SIZE="13" COLOR="#000000" LETTERSPACING="0" KERNING="0">probando otra vez el formu</FONT></P></TEXTFORMAT>

el texto lo recibo, pero hay que buscar entre toda esta marabunta de texto....
en este caso es:
nombre->nombre que he puesto
email -> email que he puesto
contenido del email-> probando otra vez el formu...

Por favor que alguien me ayude a completar este dichoso formu...
por cierto, el correo lo recibo en el servidor horde, pero en outlook se ve igual!!

gracias por anticipado!
salu2
Mírate el libmail.php, seguramente esté metiendo el cuerpo del mensaje con un Content-Type: text/plain. Si quieres que salga el texto con el formato html tienes que meterlo como Content-Type: text/html, o hacer un multipart/mixed y meterlo duplicado una vez como text/plain y otra como text/html.


PD: he encontrado por aquí un script que hice hace tiempo. No se si es el bueno porque hice varios y al final sólo use uno, pero para ver lo del content-type puede valer:

<?php

function mail_attachment ($from , $to, $subject, $message, $attachment){

   $fileatt = $attachment;                 

   $fileatt_type = "application/octet-stream";
    $start=   strrpos($attachment, '/') == -1 ? strrpos($attachment, '//') : strrpos($attachment, '/')+1;

   $fileatt_name = substr($attachment, $start, strlen($attachment));


   $email_from = $from;
   $email_subject =  $subject;
   $email_txt = $message;
   

   $email_to = $to;



   $headers = "From: ".$email_from;



   $file = fopen($fileatt,'rb');

   $data = fread($file,filesize($fileatt));

   fclose($file);

   $msg_txt=" ";



   $semi_rand = md5(time());

   $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

   

   $headers .= "\nMIME-Version: 1.0\n" .

            "Content-Type: multipart/mixed;\n" .

            " boundary="{$mime_boundary}"";



   $email_txt .= $msg_txt;

   

   $email_message .= "This is a multi-part message in MIME format.\n\n" .

                "--{$mime_boundary}\n" .

                "Content-Type:text/html; charset="iso-8859-1"\n" .

               "Content-Transfer-Encoding: 7bit\n\n" .

   $email_txt . "\n\n";



   $data = chunk_split(base64_encode($data));



   $email_message .= "--{$mime_boundary}\n" .

                  "Content-Type: {$fileatt_type};\n" .

                  " name="{$fileatt_name}"\n" .

                  //"Content-Disposition: attachment;\n" .

                  //" filename="{$fileatt_name}"\n" .

                  "Content-Transfer-Encoding: base64\n\n" .

                 $data . "\n\n" .

                  "--{$mime_boundary}--\n";





   $ok = @mail($email_to, $email_subject, $email_message, $headers);



   if($ok) { echo "mensaje=Correo enviado.";

   } else {

      echo "mensaje=Error al enviar el correo.";

   }

}



?>

Muchas gracias compadre!!
jejeje era la puta propiedad plain! QUE GARRULO SOY!
no he necesitado de usar tu codigo, muchas gracias por postearlo de todas maneras!
una y mil gracias
salu2
2 respuestas