Foros del Web » Programando para Internet » PHP »

funcion mail no me manda el html

Estas en el tema de funcion mail no me manda el html en el foro de PHP en Foros del Web. Amigos tengo un pequeño problema, les paso a contar; estoy generando mails con la funcion mail y el problema que en mi maquina local cuando ...
  #1 (permalink)  
Antiguo 08/07/2009, 08:18
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
funcion mail no me manda el html

Amigos tengo un pequeño problema, les paso a contar; estoy generando mails con la funcion mail y el problema que en mi maquina local cuando pruebo me llegan perfectos con el html pero cuando lo subo al server me llegan con las etiquetas html, o sea me llega el codigo html en el mail en vez de mostralo...

Alguien tiene idea de lo que puede ser ????
  #2 (permalink)  
Antiguo 08/07/2009, 08:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: funcion mail no me manda el html

¿Puedes escribir el codigo?
  #3 (permalink)  
Antiguo 08/07/2009, 08:26
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
Respuesta: funcion mail no me manda el html

Código PHP:
<?PHP

include('conexion.php');

conectar();

$sql="SELECT  event_log.*, event_def.subject FROM event_log, event_def WHERE status = 0 AND event_def.event = event_log.event";
$res=mysql_query($sql);


$headers "MIME-Version: 1.0\r\n
Content-type: text/html; charset=iso-8859-1\r\n
From: Opus<[email protected]>\r\n"
;


while (
$event_log mysql_fetch_array($res))
{

        if (
$event_log[id_from] != $event_log[id_to])
            {
                if (
is_null($event_log[id_to]))
                    {
                        
$query="SELECT event_mail.* FROM event_mail, event_def WHERE event_mail.event = '".$event_log[event]."' and event_def.profil = 0  AND event_def.event = event_mail.event ";//si no le hago el filtro por event_def.profil = 0 se lo manda a todos los analistas 
                        //echo $query;
                        
$result=mysql_query($query);
                            while(
$row=mysql_fetch_array($result))
                                {
                                    
//echo "<br><br>entre<br><br>";
                                    
$dameElMail "SELECT name, email_work FROM members WHERE id =".$row[id_member];
                                    
$r mysql_query($dameElMail);
                                    
$losDatos mysql_fetch_array($r);
                                    
/////////////////armo el mail
                                    
if ($losDatos[email_work]!="")
                                    {
                                        
$to      $losDatos[email_work];
                                        
$subject $event_log[subject];
                                        
$message $event_log[description];
                                        
mail($to$subject$message,$headers);
                                    }
                                    
/////////////////fin armo mail
                                
}
                    }
                    else
                    {
                        
$quer="SELECT * FROM event_mail WHERE event = '".$event_log[event]."'  AND id_member = ".$event_log[id_to];
                        
                        
$re=mysql_query($quer);
                            while(
$rowi=mysql_fetch_array($re))
                                {
                                    
$dameElMail "SELECT name,email_work FROM members WHERE id =".$rowi[id_member];
                                    
$rr mysql_query($dameElMail);
                                    
$losDato mysql_fetch_array($rr);
                                    
/////////////////armo el mail
                                    
if ($losDato[email_work]!="")
                                    {
                                        
$to      $losDato[email_work];
                                        
$subject $event_log[subject];
                                        
$message $event_log[description];
                                      
mail($to$subject$message,$headers);
                                    }
                                    
/////////////////fin armo mail
                                
}
                    }


            }

//actualizo el estado de los eventos para que en la proxima consulta
//no elija los eventos que elegio en esta consulta
$y="update event_log set status = 1 WHERE id = ".$event_log[id];
mysql_query($y);
}
desconectar();

?>
gracias!
  #4 (permalink)  
Antiguo 08/07/2009, 08:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: funcion mail no me manda el html

Te recomiendo usar la clase PHPMailer para eso, vas a tener más control sobre el MIME y te vas a evitar problemas.

Saludos.
  #5 (permalink)  
Antiguo 08/07/2009, 09:12
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
ok, voy a probar con esa clase, hace mucho que tenia ganas de usarla.
Despues les cuento como me fue.
Saludos

Espectacular, muy pero muy facil de usar, gracias!!

Última edición por GatorV; 08/07/2009 a las 10:52
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 13:27.