Foros del Web » Programando para Internet » PHP »

Mandar mail con formato HTML

Estas en el tema de Mandar mail con formato HTML en el foro de PHP en Foros del Web. Hola amigo de tanto andar y buscar ya tengo el codigo que me envia lista de correos, pero el punto es que el mensaje me ...
  #1 (permalink)  
Antiguo 27/11/2003, 01:03
 
Fecha de Ingreso: junio-2003
Ubicación: Boston USA
Mensajes: 226
Antigüedad: 20 años, 10 meses
Puntos: 0
Pregunta Mandar mail con formato HTML

Hola amigo de tanto andar y buscar ya tengo el codigo que me envia lista de correos, pero el punto es que el mensaje me lo envia en texto y yo quiero que vaya en formato HTML, leyendo en una web encontre que necesito poner el siguiente codigo:

Código PHP:
//para el envío en formato HTML 
$headers "MIME-Version: 1.0\r\n"
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"
aqui tengo la funcion que me envia los mails que tengo en la BD.

Código PHP:
//Para mandar mail 
function enviar2($enviar_enviar,$contrasena_enviar,$asunto,$mensaje

    if(
$enviar_enviar
    { 
        include(
"config.php"); 
        if(
$contrasena_enviar==$dbpass
        { 
            include(
"config.php"); 
            
$resp2 mysql_query("select * from lista"); 
            while(
$datos2 mysql_fetch_array($resp2)) 
            { 
                if(
$mail_listado==""
                { 
                    
$mail_listado=$datos2[mail]; 
                } 
                else 
                { 
                    
$mail_listado=$mail_listado.",".$datos2[mail]; 
                } 

            } 
            
            
//para el envío en formato HTML 
            
$headers "MIME-Version: 1.0\r\n"
            
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"

       
            
$header ="Bcc: ".$mail_listado."\r\n"

            
mail(null,$asunto,$mensaje,$header); 
            echo 
"<p>[COLOR=deeppink]Mail enviado con éxito[/COLOR] .</p>\n"
        } 
        else 
        { 
            
header("location: lista.php"); 
        } 
    } 
    else 
    { 
        
header("location: lista.php"); 
    } 

el punto es que no se en que parte del script colocar esos headers que me permiten enviar info con formato HTML, otra cosa yo estaba declarando una variable $cuerpo y dentro de ella metia el codigo HTML, y lo pasaba como parametro a esta funcion de tal manera que no tenia que escribir ningun mensaje, pero a pesar de que al enviar el no me mostraba ningun error y me sacaba el mesaje "Mail enviado con exito " nunca me llegaba el correo, consultando a un amigo me dijo que no usara esa variable que declaraba ($cuerpo) si no que solo pusiera los "headers" que necesito para enviar con formato HTML, que dejara la variable $mensaje y al momento de escribir el mensaje copiara el codigo HTML que el me lo toma, de hecho lo tomo, lo envie y igual que el caso anterior nunca me llegan los mails.

asi que me encuentro un poco desubicado alguien me podria ayudar???
__________________
Pandobox
  #2 (permalink)  
Antiguo 27/11/2003, 01:26
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Bueno... empezando por el final... sería bueno que pusieras el mensaje e éxito tras evaluar si mail() ha devuelto "true"...
O sea algo así:
Código PHP:
if (mail(null,$asunto,$mensaje,$header)){
   echo 
"<p>Mail enviado con éxito .</p>\n"
}else{
   echo 
"error al enviar mail";

Otra cosa, la variable de tus cabeceras se llama $headers y tú la pones como parámetro si la "s" ($header).. cambia eso y ponla como debe ser.

En las FAQ's está el script para enviar mails.... revisa primero ahí.

Saludos
  #3 (permalink)  
Antiguo 27/11/2003, 02:00
 
Fecha de Ingreso: junio-2003
Ubicación: Boston USA
Mensajes: 226
Antigüedad: 20 años, 10 meses
Puntos: 0
Exclamación yo lo lei

el problema es que esto lo tengo dentro de una funcion y ya son varias las cosas que cambian no se si me explico??????

en los faqs esta de una manera sencilla que es totalmente diferente a lo que yo manejo, bueno eso creo, corrijanme si estoy mal , gracias!!!
__________________
Pandobox
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 08:23.