Foros del Web » Programando para Internet » PHP »

envio de email maquetado en php

Estas en el tema de envio de email maquetado en php en el foro de PHP en Foros del Web. Hola. Tengo un formulario en una pagina web para que los clientes se pongan en contacto conmigo, es el siguiente: <form action="envio.php" method="post" name="catalogo"> <table ...
  #1 (permalink)  
Antiguo 26/08/2003, 11:53
Avatar de zocotoo  
Fecha de Ingreso: febrero-2003
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 0
envio de email maquetado en php

Hola.

Tengo un formulario en una pagina web para que los clientes se pongan en contacto conmigo, es el siguiente:





<form action="envio.php" method="post" name="catalogo">

<table width="296" height="94" border="1" cellpadding="5" cellspacing="0" bordercolor="#FFeFFF" bgcolor="#FFFFFF">
<tr>
<td width="292" height="92"> <table border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="textogris">Empresa:</td>
<td class="textogris"> <input name="empresa" type="text" class="cajasformulario" size="20">
<td rowspan="5"><img src="img/trans.gif" width="10" height="1"></td>
<td class="textogris">Localidad:</td>
<td> <input name="localidad" type="text" class="cajasformulario" size="20"></td>
</tr>
<tr>
<td class="textogris">Domicilio:</td>
<td class="textogris"> <input name="domicilio" type="text" class="cajasformulario" size="20">
<td class="textogris">Nombre:</td>
<td> <input name="solicitante" type="text" class="cajasformulario" size="20"></td>
</tr>
<tr>
<td class="textogris">Teléfono:</td>
<td class="textogris"> <input name="telefono" type="text" class="cajasformulario" size="20">
<td class="textogris">Cargo:</td>
<td> <input name="cargodepartamento" type="text" class="cajasformulario" size="20"></td>
<tr>
<td class="textogris">Código Postal:</td>
<td class="textogris"> <input name="codigopostal" type="text" class="cajasformulario" size="20">
</td>
<td class="textogris">Email:</td>
<td> <input name="email" type="text" class="cajasformulario" size="20"></td>
</tr>
<tr>
<td class="textogris">Web:</td>
<td class="textogris"> <input name="web" type="text" class="cajasformulario" size="20">
</td>
<td colspan="2"><div align="right">
<input type="reset" class="boton" name="borrado" value="Borrar">
<input type="submit" class="boton" name="envio" value="Enviar">
</div></td>
</tr>
</table></td>
</tr>
</table>
</form>

Hasta aqui todo bien


El formulario va referido a envio.php, aqui lo teneis:



Código PHP:
<? $mensaje="Empresa:".$empresa."\n
              Domicilio:"
.$domicilio."\n
              Telefono:"
.$telefono."\n
              Codigo Postal:"
.$codigopostal."\n
              Localidiad:"
.$localidad."\n
              Solicitante:"
.$solicitante."\n
              Cargo y Departamento:"
.$cargodepartamento."\n
              Email:"
.$email."\n
              Web:"
.$web;
              if(@
mail("[email protected]","Peticion de Catálogo",$mensaje)){
                  echo 
"<font face='Arial, Helvetica, sans-serif' color='#666666' size='2'><b>La petición de catálogo ha sido enviada.</b><br><br>Sus datos han sido enviados.<br>
  En cuanto nos sea posible, nos <br>
  pondremos en contacto con usted.<br><br>
  Gracias.</font>"
;
                  }else{
                      echo 
"<font face='Arial, Helvetica, sans-serif' color='#666666' size='2'><b>La petición de catálogo no ha sido enviada.</b></font>";
                      }
?>

No tengo problemas de envio, de hecho me funciona perfectamente, pero quiero enriquecer el email, y no sé como se hace.
Lo que quiero conseguir es que este email este maquetado como un html, para lo cual he intentado hacer tablas, trs, tds y así el trabajador de la web de la empresa pueda visualizar el email de forma enriquecida.

Pero al parecer ésta no es la manera, ya que el mail llega de esta forma

<table><tr><td>Empresa: +++++ </td></tr>.....

Es decir, me sale todo el código html, que puedo hacer para solucionarlo, para enriquecerlo, para que el mail me salga en una tabla de color azul, borde 2, etc...

Gracias de antemano.


Zoco
__________________
Yip yop Dafunk!!
  #2 (permalink)  
Antiguo 26/08/2003, 12:05
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
A ver si esto te ayuda:

Código PHP:
//Envio de correo en formato HTML
function mailhtml($mensaje,$asunto,$denombre,$deemail,$paramail)
{
$para  $paramail;
$asunto $asunto;
$encabezados  "MIME-Version: 1.0\n";
$encabezados .= "Content-type: text/html; charset=iso-8859-1\n";
$encabezados .= "From: $denombre <$deemail>\n";
$encabezados .= "X-Sender: <[email protected]>\n";
$encabezados .= "X-Mailer: PHP\n";
$encabezados .= "X-Priority: 3\n";
$encabezados .= "Return-Path: <$deemail>\n";
mail($para$asunto$mensaje$encabezados);

Saludos!
__________________
Manoloweb
  #3 (permalink)  
Antiguo 26/08/2003, 12:18
Avatar de zocotoo  
Fecha de Ingreso: febrero-2003
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 0
Gracias, lo probaré.
Pero me puedes decir más o menos como vendría esto montado.
Todo eso es lo que tengo que meter?

Gracias.
__________________
Yip yop Dafunk!!
  #4 (permalink)  
Antiguo 26/08/2003, 12:45
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
No, este codigo es una función... solo necesitas llamarlo una vez, y a partir de ese momento puedes usar la función donde la necesites...
__________________
Manoloweb
  #5 (permalink)  
Antiguo 27/08/2003, 05:04
Avatar de zocotoo  
Fecha de Ingreso: febrero-2003
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 0
Me lo puedes explicar exacatamente?

No quiero decir que me hagas tu el trabajo, pero si que quiero aprender a manejar exactamente el lenguaje Php, y como ves no soy muy maestro en ello.
Si lo puedes hacer te lo agradeceré.
Gracias
__________________
Yip yop Dafunk!!
  #6 (permalink)  
Antiguo 28/08/2003, 22:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cuando tengas dudas .. acuerdate que tienes el manual oficial de referencia de PHP en www.php.net .. si buscas por la función mail() verás que lo que te puso Manoloweb son cabeceras HTTP que le indican al cliente de correo que lea ese e-mail que partes ha de identificar como HTML para que lo interprete o Texto plano (MIME le llaman a todo eso ..)

Simplemente Usalas en el parámetro último de la función mail() "header" como el ejemplo q ahí tienes.

En las FAQ's de este foro puede encontrar más ejemplos sobre mail() y tutoriales sobre PHP para que sigas aprendiendo PHP.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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:02.