Foros del Web » Programando para Internet » PHP »

Probemilla con mail()... con HTML

Estas en el tema de Probemilla con mail()... con HTML en el foro de PHP en Foros del Web. Wenas y gracias de antemano por ayudarme. Veamos, no tengo mucha idea de php la verdad, pero llevo ya unos dias liado con una página... ...
  #1 (permalink)  
Antiguo 02/02/2005, 15:08
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 12 años, 10 meses
Puntos: 0
Probemilla con mail()... con HTML

Wenas y gracias de antemano por ayudarme.

Veamos, no tengo mucha idea de php la verdad, pero llevo ya unos dias liado con una página... y una de las cosas que necesito es un formulario de inscripción, total que he echo un formulario con dreamweaver y un script php para enviarlo por mail, probado que funciona, tal que asi:

<?

$asunto = "Inscripcion $tipo_inscripcion";

$mensaje = "Nombre: $nombre\nApellidos: $apellidos\nEmail: $email";

mail("[email protected]", $asunto, $mensaje, "From: $email");



Header("Location: formulario2.htm");

?>

________________________________________________
El problema es que lo que en verdad necesito es que el $mensaje, sea un código html, es decir Content-type: text/html. He leido varios manuales y simplemente poniendo esa etiketa detras de FROM, como cabecera del mail, admite meter html en el mensaje, pero probado (copiando el script del manual) que no manda el correo, solo redirecciona. Asi es:

<?

$asunto = "Inscripcion $tipo_inscripcion";

$mensaje = "<html><head>......</html>";

mail("[email protected]", $asunto, $mensaje, "Content-type: text/html\n", "FROM: $email\n");



Header("Location: formulario2.htm");

?>
_______________________________________________
Visto que la etiketa "Content-type: text/html\n" hace que no funcione el envío de mail, como hago para enviar un correo con contenido HTML?

Espero haberme explicado bien y gracias por vuestra atención. JokerManu
  #2 (permalink)  
Antiguo 02/02/2005, 15:35
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

http://www.forosdelweb.com/showthrea...350#post254350 ahi tienes un ejemplo.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 02/02/2005, 15:40
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 12 años, 10 meses
Puntos: 0
Efestivamente, justo despues de escribir mi mensaje he probado con ese ejemplo, y nada, redirecciona pero no manda el mail... estoy asta... xDDDD

Weno no se... no creo que sea cosa de mi server ya que un mensaje en texto plano llega perfestamente... seguire probando, de todas formas si alguien a kien le funcione pudiera ponerme como lo hizo... lo agradeceria, no hay manera de conseguirlo xD

saludos y gracias.
  #4 (permalink)  
Antiguo 02/02/2005, 16:07
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 12 años, 10 meses
Puntos: 0
Exclamación

Lo he conseguido jajaja no veas si toi pegao en este asunto

lo único q no soi capaz de meterle ciertos códigos html, que lleven comillas, por ejemplo una imagen con src, ya que las "imagen.gif" dan error, o un simple font face="Verdana" :
Parse error: parse error, unexpected T_STRING

como puedo solucionar esto? ya que sin estas tags apenas puedo dar formato al html, que es lo que necesito. Gracias

Última edición por JokerManu; 02/02/2005 a las 16:25 Razón: Me expliko mejor
  #5 (permalink)  
Antiguo 03/02/2005, 01:44
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
http://www.php.net/manual/en/language.types.string.php

Salduos.
  #6 (permalink)  
Antiguo 03/02/2005, 07:54
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 12 años, 10 meses
Puntos: 0
Siento ser pesado y creo q bastante torpe, pero he estado leyendo en la página esa y no consigo entender como poner códigos de html dentro del mensaje. tengo esto, y siempre me da fallo en la linea con el primer código tipo <font face="Verdana">
CÓDIGO:

<?php
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$tipo_camp = $_POST['tipo_camp'];
$desde="$email"; //cuenta que envia
$destinatario="[email protected]"; //cuenta destino
$asunto="Inscripcion $tipo_camp"; //subject
$msg="<HTML>
<HEAD></HEAD>
<BODY bgColor=#ffffff>
<DIV align=left><FONT face="Trebuchet MS" size=2><IMG src="encabezado.GIF"></FONT></DIV>
<DIV align=center><STRONG><FONT face="Trebuchet MS">FICHA DE
INSCRIPCIÓN</FONT></STRONG></FONT></DIV>
<DIV><FONT face="Trebuchet MS"></FONT>&nbsp;</DIV>
<DIV align=left><STRONG><FONT face="Trebuchet MS">Datos
Personales:</FONT></STRONG></DIV>
<DIV><FONT face="Trebuchet MS"></FONT>&nbsp;</DIV>
<DIV align=left><FONT face="Trebuchet MS">Nombre: $nombre</FONT></DIV>
</BODY>
</HTML>
"; //mensaje
$encabezados .= "From: $nombre ($email)<$email>\n";
$encabezados .= "X-Sender: <$email>\n";
$encabezados .= "X-Mailer: PHP\n";
$encabezados .= "Return-Path: <$email>\n";
$encabezados .= "Content-Type: text/html\n";
mail($destinatario,$asunto,$msg,$encabezados);
header("Location: formulario2.htm");
?>

Lo que no se es como poner por ejemplo <IMG src="encabezado.GIF"> o <FONT face="Trebuchet MS" size=2> en el correo HTML, sin que interprete esas comillas como variable php. Gracias de nuevo.

Última edición por JokerManu; 03/02/2005 a las 07:56
  #7 (permalink)  
Antiguo 04/02/2005, 02:15
Avatar de ozzel  
Fecha de Ingreso: enero-2004
Ubicación: Palma de Mallorca
Mensajes: 27
Antigüedad: 13 años, 10 meses
Puntos: 0
Hola JokerManu:

¿Has probado poner comillas simples?
Código HTML:
<FONT face='Trebuchet MS' size=2><IMG src='encabezado.GIF'></FONT> 
Igual así te funciona.

No obstante, te aconsejo que no emplees la etiqueta <font> puesto que está obsoleta.

Un saludo
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 15:12.