Foros del Web » Programando para Internet » PHP »

Recepcion de email en texto plano

Estas en el tema de Recepcion de email en texto plano en el foro de PHP en Foros del Web. Hola: Parte de código que tengo en un formulario me está volviendo loco. He creado un formulario de inscripción que envía datos a una BD ...
  #1 (permalink)  
Antiguo 08/09/2011, 03:17
 
Fecha de Ingreso: septiembre-2007
Mensajes: 23
Antigüedad: 16 años, 7 meses
Puntos: 0
Recepcion de email en texto plano

Hola:
Parte de código que tengo en un formulario me está volviendo loco.
He creado un formulario de inscripción que envía datos a una BD mysql y hasta aquí todo correcto.
Uso tres archivos:
index: Se intrucen algunos datos
inscripciones1: se introducen otros datos.
inscripciones2: mete los datos en la BD y hace el envío de una copia al mail del inscrito. ES EN ESTE ÚLTIMO DONDE ME TIRO DE LOS PELOS.

En "inscripciones2" tengo el siguiente codigo en una parte (la del envío del mail). Mi servidor me obliga a autenticarme y el código me lo ofrecen ellos por eso lo del "Mail.php" del inicio.
Código PHP:
<?php
require_once "Mail.php";

    
$from "EKALME - SEMES Euskadi <[email protected]>";
    
$to $HTTP_POST_VARS["email"];
    
$subject "Inscripción";
    [
B]$body file_get_contents('http://www.midominio.org/carpeta/EmailInscrito.php');[/B]

    
$host "localhost";
    
$username "[email protected]";
    
$password "mipass";
    

    
$headers = array ('From' => $from,
      
'To' => $to,
      
'Subject' => $subject);
      
    
$smtp Mail::factory('smtp',
      array (
'host' => $host,
        
'auth' => true,
        
'username' => $username,
        
'password' => $password));

    
$mail $smtp->send($to$headers$body);

    if (
PEAR::isError($mail)) {
      echo(
"<p>" $mail->getMessage() . "</p>");
     } else {
      echo(
"<p>Message successfully sent!!</p>");
     }
}
?>
Como veis, mediante file_get_contents pretendo que se cargue una plantilla con los datos de este formulario y sea la plantilla la que llegue. Efectivamente así lo hace (aunque sin datos pero eso es otro cantar) pero ME LLEGA EN TEXTO PLANO, es decir el código de la plantilla.

He probado en con varias cuentas y solo una de ellas me recibe la plantilla con su formato y estilo bien. Pero no en gmail, hotmail, yahoo,...
Tengo la sospecha de que son los headers, MIME y Content Type pero no se como incluirlas ni donde. En este archivo o en la plantilla...

Estoy completamente bloqueado, y pagando la novatada. Tan solo quiero que me lleguen los datos al email del inscrito con alguna imagen en plan "curioso".

Todo tipo de aportación será bienvenida. Estoy buscando como un poseso en todo el foro y no encuentro exactamente esto.
  #2 (permalink)  
Antiguo 08/09/2011, 03:53
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Respuesta: Recepcion de email en texto plano

Tienes que decirle al e-mail que vas a enviar un HTML, en $headers tienes que añadir: "Content-Type: text/html;".
  #3 (permalink)  
Antiguo 08/09/2011, 07:59
 
Fecha de Ingreso: septiembre-2007
Mensajes: 23
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Recepcion de email en texto plano

Me imaginaba algo, y he probado algo también.
Donde concretamente puedo decirle al email que es un HTML.
Debo estar escribiendo mal o en mal lugar. Como sería el código del header para los MIME type y content type?
Gracias por el aporte.

Etiquetas: email, mysql, plano, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:44.