Foros del Web » Programando para Internet » PHP »

formulario enviado via mail() se ve en html en outlook

Estas en el tema de formulario enviado via mail() se ve en html en outlook en el foro de PHP en Foros del Web. Hola, tengo un formulario el cual se envia via mail con php, el caso es que envio una pagina completa desde <html> hasta </html>, pero ...
  #1 (permalink)  
Antiguo 20/10/2004, 16:16
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
formulario enviado via mail() se ve en html en outlook

Hola, tengo un formulario el cual se envia via mail con php, el caso es que envio una pagina completa desde <html> hasta </html>, pero en outlook se ve todo el codigo html....

como soluciono eso por favor?

Saludos
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 20/10/2004, 16:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y que cabeceras HTTP usas en tu mail() ? .. tal vez no usastes/definistes que el e-mail que estás enviando es en formato HTML (eso se indica con una cabecera) . .así que tu cliente de correo entiende que es texto plano simplemente.

Puedes ver un ejemplo:

http://www.forosdelweb.com/f18/faqs-php-530600-post254350/

Un saludo,
  #3 (permalink)  
Antiguo 21/10/2004, 08:50
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
Pues igual sigue llegando puro codigo html :(

Código PHP:
Content-typetext/html;ToFrank Abreu <fabreu@rubycom.comFromRubycom <empleos@rubycom.com>
X-Mailer:PHP/4.3.2



<html>
<
head>
    <
link rel="stylesheet" type="text/css" href="http://www.rubycom.com/css/servicios.css" />
    <
title>Solicitud de Servicio</title>
    <
META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</
head>
<
body>
<
class="titulo_cabeza">Hoja de Solicitud de Servicio.</p>
<
table width="200\" cellpadding=\"0\" cellspacing=\"0\">
    <tr bgcolor="
#09859F" class="titulo">
        
<td>Datos Personales :</td>
        <
td></td>

................. 
entonces?
__________________
www.dataautos.com
  #4 (permalink)  
Antiguo 21/10/2004, 09:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si no pones el código que usas es dificil ver el problema .. no crees?

Un saludo,
  #5 (permalink)  
Antiguo 21/10/2004, 09:23
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
Cierto Cluster, aqui te dejo el codigo

Código PHP:
$ruta header ("location: confirmacion.php?nombre=".$_POST['nombre']."&apellido=".$_POST['apellido']."");
$para  "[email protected], [email][email protected][/email]";
$asunto "Solicitud de Servicio";
$mensaje '
<html>
<head>
    <link rel="stylesheet" type="text/css" href="http://www.rubycom.com/css/servicios.css" />
    <title>Solicitud de Servicio</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</head>
<body>
<p class="titulo_cabeza">Hoja de Solicitud de Servicio.</p>
<table width=\"200\" cellpadding=\"0\" cellspacing=\"0\">
    <tr bgcolor="#09859F" class="titulo">
        <td>Datos Personales :</td>
        <td></td>
    <tr bgcolor="#C9D9E9"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Nombre :</td>
        <td class="contenido_tabla">'
.$_POST['nombre'].'</td>
    </tr>
    <tr bgcolor="#F1F5FA"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Apellido :</td>
        <td class="contenido_tabla">'
.$_POST['apellido'].'</td>
    </tr>
    <tr bgcolor="#C9D9E9"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Empresa :</td>
        <td class="contenido_tabla">'
.$_POST['empresa'].'</td>
    </tr>
    <tr bgcolor="#F1F5FA"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Posición :</td>
        <td class="contenido_tabla">'
.$_POST['posicion'].'</td>
    </tr>
    <tr bgcolor="#C9D9E9"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Teléfono :</td>
        <td class="contenido_tabla">'
.$_POST['telefono'].'</td>
    </tr>
    <tr bgcolor="#F1F5FA"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Celular :</td>
        <td class="contenido_tabla">'
.$_POST['celular'].'</td>
    </tr>
    <tr bgcolor="#C9D9E9"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Email :</td>
        <td class="contenido_tabla">'
.$_POST['email'].'</td>
    </tr>
    <tr bgcolor="#F1F5FA"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Fax :</td>
        <td class="contenido_tabla">'
.$_POST['fax'].'</td>
    </tr>
    <tr bgcolor="#C9D9E9"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Dirección :</td>
        <td class="contenido_tabla">'
.$_POST['direccion'].'</td>
    </tr>
    <tr bgcolor="#F1F5FA"> 
        <td><br></td>
        <td></td>
    </tr>'
;
    
    
/* Dominio */
    
    
if ($_POST['registrar_dominio'] == "si") {
        
$mensaje .= '
            <tr bgcolor="#09859F" class="titulo"> 
                <td> Registro de Dominio : </td>
                <td></td>
            </tr>
            <tr bgcolor="#C9D9E9"> 
                <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Dominio :</td>
                <td class="contenido_tabla"> www.'
.$_POST['domain'].$_POST['ext'].'</td>
            </tr>
            <tr bgcolor="#F1F5FA"> 
                <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Tiempo :</td>
                <td class="contenido_tabla">'
.$_POST['tiempo'].'</td>
            </tr>
            <tr bgcolor="#C9D9E9"> 
                <td><br></td>
                <td><br></td>
            </tr>'
;
    } else {
        
$mensaje .= '
            <tr bgcolor="#09859F" class="titulo">
                <td>El cliente no desea registrar un dominio.</td>
                <td><br></td>
            <tr bgcolor="#C9D9E9"> 
                <td><br></td>
                <td><br></td>
            </tr>'
;            
    }
    
    
/* Hosting */
    
    
if ($_POST['registrar_host'] == "si") {
    
$mensaje .= '
    <tr bgcolor="#09859F" class="titulo"> 
                <td> Registro de Host : </td>
    <td></td>
    </tr>
    <tr bgcolor="#C9D9E9"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Configuración :</td>
        <td class="contenido_tabla">'
.$_POST['configuracion'].'</td>
    </tr>
    <tr bgcolor="#F1F5FA"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Plataforma :</td>
        <td class="contenido_tabla">'
.$_POST['plataforma'].'</td>
    </tr>
    <tr bgcolor="#C9D9E9"> 
        <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Plan :</td>
        <td class="contenido_tabla">'
.$_POST['plan'].'</td>
    </tr>
    <tr bgcolor="#F1F5FA"> 
        <td><br></td>
        <td><br></td>
    </tr>'
;
    } else {
        
$mensaje .= '
            <tr bgcolor="#09859F" class="titulo">
                <td>El cliente no desea registrar un host.</td>
                <td></td>
            <tr bgcolor="#C9D9E9"> 
                <td><br></td>
                <td><br></td>
            </tr>'
;            
    }
    
    
/* Desarrollo de Proyecto */
    
    
if ($_POST['realizar_proyecto'] == "si") {
        
$mensaje .= '
        <tr bgcolor="#09859F" class="titulo"> 
                    <td> Realización de Proyecto : </td>
                    <td></td>
        </tr>'
;
        if (
$_POST['trabajo'] == "otro") {
            
$mensaje .= '
                <tr bgcolor="#C9D9E9"> 
                    <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Tipo de Trabajo :</td>
                    <td class="contenido_tabla">'
.$_POST['trabajo_otro'].'</td>
                </tr>'
;
        } else {
            
$mensaje .= '
                <tr bgcolor="#C9D9E9"> 
                    <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Tipo de Trabajo :</td>
                    <td class="contenido_tabla">'
.$_POST['trabajo'].'</td>
                </tr>'
;
        }
        if (
$_POST['proyecto'] == "otro") {
            
$mensaje .= '
                <tr bgcolor="#F1F5FA"> 
                    <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Tipo de Proyecto :</td>
                    <td class="contenido_tabla">'
.$_POST['proyecto_otro'].'</td>
                </tr>'
;
        } else {
            
$mensaje .= '
                <tr bgcolor="#F1F5FA"> 
                    <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Tipo de Proyecto :</td>
                    <td class="contenido_tabla">'
.$_POST['proyecto'].'</td>
                </tr>'
;
        }
        
$mensaje .= '
            <tr bgcolor="#C9D9E9">
                <td class="titulo_tabla">&nbsp;&nbsp;&nbsp; Contenido : </td>
                <td class="contenido_tabla"></td>
            </tr>
            <tr>
                <td bgcolor="#C9D9E9"></td>
                <td bgcolor="#C9D9E9">
                    <table class="contenido_tabla">
                        <tr>
                            <td>Informativo : <b>'
.$_POST['contenido_informativo'].'</b></td>
                            <td>Dinamico : <b>'
.$_POST['contenido_dinamico'].'</b></td>
                        <tr>
                        <tr>
                            <td>Interactivo : <b>'
.$_POST['contenido_interactivo'].'</b></td>
                            <td>Shopping Cart : <b>'
.$_POST['contenido_shopping_cart'].'</b></td>
                        <tr>
                        <tr>
                            <td>Base de Datos : <b>'
.$_POST['contenido_base_de_datos'].'</b></td>
                            <td></td>
                        <tr>
                    </table>
                </td>
            </tr>'
;
    } else {
        
$mensaje .= '
            <tr bgcolor="#09859F" class="titulo">
                <td>El cliente no desea realizar un proyecto.</td>
                <td></td>
            <tr bgcolor="#C9D9E9"> 
                <td><br></td>
                <td><br></td>
            </tr>'
;            
    }
        
$mensaje .= '
            <tr bgcolor="#09859F" class="titulo">
                <td> Comentarios adicionales : </td>
                <td></td>
            </tr>
            <tr class="contenido_tabla" bgcolor="#C9D9E9">
                <td></td>
                <td>'
.$_POST['comentarios'].'</td>
            </tr>
        </table>
    </body>
</html>'
;


//$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
//$sheader=$sheader."Mime-Version: 1.0\n";
//$sheader=$sheader."Content-Type: text/html"; 

        
$cabeceras  "MIME-Version: 1.0\r\n";
$cabeceras .= "Content-type: text/html charset=iso-8859-1\r\n";
$cabeceras .= "To: Frank Abreu <[email protected]>\r\n";
$cabeceras .= "From: Rubycom <[email protected]>\r\n";
$cabeceras .= "X-Mailer:PHP/".phpversion()."\n";
//$cabeceras .= "X-Mailer: Microsoft Office Outlook, Build 11.0.5510\r\n"; 
mail($para$asunto$mensaje$cabeceras);
echo 
$ruta
__________________
www.dataautos.com
  #6 (permalink)  
Antiguo 21/10/2004, 09:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Que pretendes hacer con esto?

$ruta = header ("location: confirmacion.php?nombre=".$_POST['nombre']."&apellido=".$_POST['apellido']."");

debes usarlo:

mail();
header ("location: confirmacion.php?nombre=".$_POST['nombre']."&apellido=".$_POST['apellido']."");

Por lo demás .. las cabeceras HTTP parecen correctas para "indicar" que el e-mail (su contenido) es HTML.


Supongo que si haces un:

echo $mensaje .. ves tu e-mail bien (el HTML generado .. con los valores de tus variables)

Un saludo,
  #7 (permalink)  
Antiguo 21/10/2004, 10:28
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
Pues cuando coloco el header en ese lugar me da error de que el header ya ha sido enviado..etc
__________________
www.dataautos.com
  #8 (permalink)  
Antiguo 21/10/2004, 10:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues una vez más . .insisto!! .. Si cuando dices que trabajas con algo que dá un error NO pones el error textual que obtienes o el código -completo de principio a fin- que usas .. es dificil orientarte por donde debes mirar o que hacer ...

Un saludo,
  #9 (permalink)  
Antiguo 21/10/2004, 10:36
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
Warning: Cannot modify header information - headers already sent by (output started at c:\inetpub\wwwroot\php\email.php:20) in c:\inetpub\wwwroot\php\email.php on line 219
__________________
www.dataautos.com
  #10 (permalink)  
Antiguo 21/10/2004, 10:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ahora faltaría el código completo que usas .. (fijate la de vueltas que estamos al problema cuando si aportases todo desde un principio ya estarías disfrutando de tu código ...)

El mensaje de error que te dá es que en la línea 20 de email.php tienes algo de HTML, echo "algo" .. o un simple espacio o salto de línea antes de <? .. Cuando redireccionas por "header()" de "location" .. no puedes tener nada de salida al navegador. Un error también puede probocar esa salida (pero ya lo hubieras visto).

Un saludo,
  #11 (permalink)  
Antiguo 21/10/2004, 11:09
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
pero ha he puesto el codigo ahi arriba antes de estos dos ultimos post

en la linea 20 es
Código PHP:
 <td class="contenido_tabla">'.$_POST['nombre'].'</td
__________________
www.dataautos.com
  #12 (permalink)  
Antiguo 21/10/2004, 12:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok.

Lo probé tal cual .. $mensaje ... + header ("location: ") .. y no me dió ningún problema sobre cabeceras (!) (no uso control del buffer ... ni nada parecido).

(supongo que NO haras un echo $mensaje ?)

Un saludo,

Última edición por Cluster; 21/10/2004 a las 12:12
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 21:45.