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ó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é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é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