Foros del Web » Programando para Internet » PHP »

php mail() html en outlook

Estas en el tema de php mail() html en outlook en el foro de PHP en Foros del Web. buen dia amigos phperos, Estoy creando un formulario de contacto en la pagina web de la empresa, ya lo tengo hecho y funcionando, el problema ...
  #1 (permalink)  
Antiguo 08/05/2013, 13:23
 
Fecha de Ingreso: mayo-2013
Ubicación: MEXICO
Mensajes: 1
Antigüedad: 11 años
Puntos: 0
php mail() html en outlook

buen dia amigos phperos,

Estoy creando un formulario de contacto en la pagina web de la empresa, ya lo tengo hecho y funcionando, el problema es que al momento de recibir el correo me llega solo como texto sin formato cuando deberia de llegar en html. Lo tengo en 3 archivos, uno es formulario.html, el otro es enviar_correo.php y el otro es contacto.php, tengo una computadora mac y me llega normal, en las windows con outlook es donde se presenta el problema

el codigo del formulario es el siguiente:

<table width="467" height="500" border="0" align="center" cellpadding="10" background="imagen/back.gif">
<tr>
<td width="461" align="center"><p class="titulo1">[email protected] | 01800123444 1</p>
<p class="txtsmall">Los campos marcados con <span class="boldrojo">*</span> son obligatorios</p>
<form action="enviar_correo.php" id="formulario" name="formulario" method="post" onsubmit="return validarForm(this);">
<table width="98%" border="0" align="center" cellpadding="2" cellspacing="3">
<tr>
<td width="41%"><div align="left">Nombre Completo <span class="boldrojo">*</span></div></td>
<td width="59%"><input name="name" type="text" id="name" size="40" /></td>
</tr>
<tr>
<td><div align="left">Direcci&oacute;n de Correo<span class="boldrojo"> *</span></div></td>
<td><input name="email" type="text" id="email" size="40" /></td>
</tr>
<tr>
<td><div align="left">Ciudad</div></td>
<td><input name="ciudad" type="text" id="ciudad" size="40" /></td>z
</tr>
<tr>
<td><div align="left">Tel&eacute;fono</div></td>
<td><input name="telefono" type="text" id="telefono" size="40" /></td>
</tr>
<tr>
<td><div align="left">Asunto</div></td>
<td><input name="asunto" type="text" id="asunto" size="40" /></td>
</tr>
<tr>
<td valign="top"><div align="left">Mensaje <span class="boldrojo">*</span></div></td>
<td><textarea name="mensaje" cols="30" rows="9" id="mensaje"></textarea></td>
</tr>
<tr>
<td colspan="2">
</td>
</tr>
</table><br />
<div align="center">
<hr>
<input name="submit" type="submit" value="Enviar" />
</div></form><br /></td>
</tr>
</table>




enviar_correo.php:
<!--
enviar_correo.php
-->

<?php
//Recuperar los datos que serviran para enviar el

correo
$seEnvio; //Para determinar si se envio o no el

correo
$destinatario = '[email protected]';

//Correo de la pagina
$paginaweb = 'ByP';

// nombre de la

pagina
$elmensaje = str_replace("\n.", "\n..", $_POST

['mensaje']);
$elmensaje = wordwrap($elmensaje, 70);


//Recuperar el asunto
$asunto = 'Contacto desde la pagina web -

'.$paginaweb;
$cuerpomsg ='
<html>
<head>
<title>Contacto - empresa</title>
</head>
<body>
<table>
<tr>
<td><b>Tipo de Negocio:</b> '.$_POST

['negocio'].'<br><br></td>
<tr>
<td><b>Nombre:</b> '.$_POST

['name'].'<br><br></td>
</tr>
<tr>
<td><b>Ciudad:</b> '.$_POST

['ciudad'].'<br><br></td>
</tr>
<tr>
<td><b>Tel&eacute;fono:</b> '.$_POST

['telefono'].'<br><br></td>
</tr>
<tr>
<td><b>Asunto:</b> '.$_POST

['asunto'].'<br><br></td>
</tr>
<tr>
<td><b>El mensaje es:</b><br></td>
</tr>
<tr>
<td>'.$elmensaje.'</td>
</tr>
</table>
</body>
</html>
';
//Establecer cabeceras para la funcion mail()
$cabeceras = "From: ".$_POST['name']." <".$_POST
['email'].">"; //direccion del remitente
$cabeceras .= "MIME-Version: 1.0\r\n";
$cabeceras .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$cabeceras .= "Content-Transfer-Encoding: 8bit;\r\n

\r\n";

if(mail($destinatario,$asunto,$cuerpomsg,

$cabeceras))
$seEnvio = true;
else
$seEnvio = false;

//Enviar el estado del envio (por metodo GET ) y

redirigir navegador al archivo contacto.php
if($seEnvio == true)
{
header('Location: contacto.php?

estado=enviado');
}
else
{
header('Location: contacto.php?

estado=no_enviado');
}
?>

y el de contacto.php que es meramente validacion es el siguiente:


<!--
contacto.php
-->

<HTML>
<HEAD>
<TITLE>Contacto</TITLE>
<link type="text/css" href="css/jquery.alerts.css" rel="stylesheet" />
<link rel="stylesheet" href="css/estilos.css" type="text/css">
<script src="js/valida.js" language="JavaScript"></script>
</HEAD>
<BODY >
<TABLE WIDTH="95%" align="center" cellspacing="0" cellpadding="0" border=0>
<TR>
<TD align="center">
<?php
//Si la variable de estado existe entrar y ver que valor tiene
if( isset( $_GET['estado'] ) )
{
if( $_GET['estado']=='enviado' )
{
echo "<br><br>Su mensaje fue enviado correctamente. Gracias por contactar a la empresa. En breve nos pondremos en contacto con usted.";
echo "<br><br><a href='index.html'>VOLVER</a>"; // en esta parte se edita la pagina a regresar
}
else if( $_GET['estado']=='no_enviado' )
{
echo "<br><br><b>Upss!!,</b> Ocurrio un error. SU MENSAJE NO PUEDE SER ENVIADO EN ESTE MOMENTO.";
}
}
else
{
//muestra el formulario para capturar los datos del correo
require("formulario.html");
}
echo ' <BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><B R>';
?>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>


segun lo que he investigado mi problema esta en definir las cabeceras pero de tantos intentos ninguna me sale, tambien el formulario no tiene formato por lo pronto esta en fondo blanco pero de eso se encargara la persona de diseño, otro comentario mi servidor de correos esta basado en linux

Agradezco de antemano sus aportes y conocimientos, sinceramente no me vayan a decir que use phpmailer, creo que me costo mucho trabajo hacer esto como para empezar de cero otra vez

Última edición por betocmpn; 08/05/2013 a las 13:34 Razón: add info
  #2 (permalink)  
Antiguo 08/05/2013, 14:02
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Respuesta: php mail() html en outlook

Mira los siguientes links te podrán guiar en el uso adecuado de varias funciones que usas para el fin que necesitas.

http://www.desarrolloweb.com/articulos/969.php
http://www.comocreartuweb.com/consul...poco-expertos)
http://www.w3schools.com/php/php_post.asp

Etiquetas: correo, formulario, html, mail, outlook
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 00:41.