Foros del Web » Programando para Internet » PHP »

mail con html

Estas en el tema de mail con html en el foro de PHP en Foros del Web. Necesito mandan un correo por mail, pero con html, intente hacer algo pero me tira un error, les dejo el codigo para que puedan ver ...
  #1 (permalink)  
Antiguo 10/11/2008, 13:14
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
mail con html

Necesito mandan un correo por mail, pero con html, intente hacer algo pero me tira un error, les dejo el codigo para que puedan ver que error cometo

muchas gracias

Código PHP:
<table width="70%" border="0">
  <tr>
    <td colspan="4"><p>Sr. MANDANTE</p>
    <p>&nbsp;
<?
include_once("../am_core/mysql.lib.php");
include_once(
"../am_config.php");
include_once(
"../am_valusu.php");
$conn db_connect($config["host"],$config["database"],$config["user"],$config["password"]) or die( db_error() );

$nombre $_POST['nombre'];
$email $_POST['email'];
$empresa $_POST['empresa'];
$fono $_POST['fono'];
$asunt0 $_POST['asunto'];
$mensaje1 $_POST['mensaje1'];



$header 'From: ' $nombre " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
//$header .= "Mime-Version: 1.0 \r\n";
//$header .= "Content-Type: text/plain";
$header 'MIME-Version: 1.0' "\r\n";
$header .= 'Content-type: text/html; charset=utf-8' "\r\n";

$proyecto_actual= ("SELECT *, COUNT(*) AS 'ameco' FROM (am_inspeccion,am_rl_equins) where ins_folio=rei_folio GROUP BY `ins_proyecto` order by ins_folio");
  
$ret      db_query($proyecto_actual) or die(db_error());
  
$num_resp db_num_rows($ret);
     while( 
$row=db_fetch_array($ret) ){

      
$i            $row["ins_folio"];
      
$nombre       $row["ins_nomcon"];
      
$empresa       $row["ins_nomemp"];
      
$equipo       $row["rei_nomequ"];
      
$f_fecing1  $row["ins_fecing1"];
      
$f_proyecto $row["ins_proyecto"];


?>
</p></td>
  </tr>
  <tr>
    <td colspan="4"><p>Hay N&deg; 3 a espera solicitando su Aprobaci&oacute;n. A contuniaci&oacute;n detalle de las solicitudes: </p>    </td>
  </tr>
  <tr>
    <td><div align="center"><strong>Folio:</strong></div></td>
    <td><div align="center"><strong>Empresa:</strong></div></td>
    <td><div align="center"><strong>Equipo a Inspeccionar: </strong></div></td>
    <td><div align="center"><strong>Contacto:</strong></div></td>
  </tr>
  <tr>
<?  $mensaje ="<td width=\"11%\"> " $i "<br></td> \r\n"?>
<?  $mensaje
.="<td width=\"24%\"> " $empresa "</td> \r\n"?>
<?  $mensaje
.="<td width=\"39%\"> " $equipo "</td> \r\n"?>
<?  $mensaje
.="<td width=\"26%\"> " $nombre "</td> \r\n"?>
  </tr>
  <tr>
  </tr>
</table>

<?

$mensaje 
.= "Enviado el " date('d/m/Y'time());
$mensaje .= " \r\n";
$mensaje .= " \r\n";

$para '[email protected]';
$asunto 'Pregunta desde la web';
}
mail($para$asuntoutf8_decode($mensaje), $header);


//aca tira el error
?>
Parse error: parse error, unexpected $ in /home/public_html/ame_mail/prueba.php on line 82

al ultimo me tira el error
  #2 (permalink)  
Antiguo 10/11/2008, 13:29
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: mail con html

si quitas la funciona mail? te envia el error?
mmmm me huele a que el error esta en tu consulta, ese orderby con el group by :/
y pues si haces una consulta de dos tablas las dos tablas tienen los mismo campos con los que haces la comparación....

has puesto un echo "" sin enviar el mail()....
para ver que te da...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 10/11/2008, 13:31
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: mail con html

ya no me error, pero no me manda nada, ni me tira ningun dato
  #4 (permalink)  
Antiguo 10/11/2008, 13:39
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: mail con html

en esta parte, comentatste esto:
//$header .= "Content-Type: text/plain";

activalo y cambialo asi:
$header .= "Content-Type: text/html";

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #5 (permalink)  
Antiguo 10/11/2008, 13:53
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: mail con html

me manda, pero vacio :(

ayudame plz
  #6 (permalink)  
Antiguo 10/11/2008, 14:04
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: mail con html

Hola

prueba incluir este header

$headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n";

y dejar la funcion mail asi:

mail($para, $asunto, $mensaje, $header);

Un saludo
  #7 (permalink)  
Antiguo 10/11/2008, 14:11
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: mail con html

Cita:
Iniciado por hulray Ver Mensaje
me manda, pero vacio :(

ayudame plz
aqui esta todo tu codigo arreglado por mi......

Código PHP:
<?
include_once("../am_core/mysql.lib.php");
include_once(
"../am_config.php");
include_once(
"../am_valusu.php");
$conn db_connect($config["host"],$config["database"],$config["user"],$config["password"]) or die( db_error() );

$nombre $_POST['nombre'];
$email $_POST['email'];
$empresa $_POST['empresa'];
$fono $_POST['fono'];
$asunt0 $_POST['asunto'];
$mensaje1 $_POST['mensaje1'];

$para '[email protected]';//$_POST['email']
$asunto 'Pregunta desde la web';//$_POST['asunto']

$header 'From: ' $nombre " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= 'MIME-Version: 1.0' "\r\n";
$header .= 'Content-type: text/html; charset=utf-8 \r\n';

$mensaje='
<table width="70%" border="0">
  <tr>
    <td colspan="4"><p>Sr. MANDANTE</p>
    <p>&nbsp;
</p></td>
  </tr>
  <tr>
    <td colspan="4"><p>Hay N&deg; 3 a espera solicitando su Aprobaci&oacute;n. A contuniaci&oacute;n detalle de las solicitudes: </p>    </td>
  </tr>
  <tr>
    <td><div align="center"><strong>Folio:</strong></div></td>
    <td><div align="center"><strong>Empresa:</strong></div></td>
    <td><div align="center"><strong>Equipo a Inspeccionar: </strong></div></td>
    <td><div align="center"><strong>Contacto:</strong></div></td>
  </tr>
'
;
$proyecto_actual= ("SELECT *, COUNT(*) AS 'ameco' FROM (am_inspeccion,am_rl_equins) where ins_folio=rei_folio GROUP BY `ins_proyecto` order by ins_folio");
  
$ret      db_query($proyecto_actual) or die(db_error());
  
$num_resp db_num_rows($ret);
     while( 
$row=db_fetch_array($ret) ){

      
$i            $row["ins_folio"];
      
$nombre       $row["ins_nomcon"];
      
$empresa       $row["ins_nomemp"];
      
$equipo       $row["rei_nomequ"];
      
$f_fecing1  $row["ins_fecing1"];
      
$f_proyecto $row["ins_proyecto"];
$mensaje.='
  <tr>
    <td width=\"11%\"> ' 
$i '<br></td>
    <td width=\"24%\"> ' 
$empresa '</td>
    <td width=\"39%\"> ' 
$equipo '</td>
    <td width=\"26%\"> ' 
$nombre '</td>
  </tr>
'
;
    }
$mensaje.='
  <tr>
   <td colspan="4">Enviado el ' 
date('d/m/Y'time()) .'</td>
  </tr>
</table>'
;//$_POST['mensaje1']

mail($para$asuntoutf8_decode($mensaje), $header);
?>
suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #8 (permalink)  
Antiguo 10/11/2008, 15:02
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: mail con html

muchas gracias
  #9 (permalink)  
Antiguo 10/11/2008, 15:07
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: mail con html

Ahora lo que no netiendo es mandar un header como este

$header .= 'Content-type: text/html; charset=utf-8 \r\n';

y dspues enviar mail con utf8_decode

mail($para, $asunto, utf8_decode($mensaje), $header);

primero codificas a utf8 y despues pasas de utf8 a charset ISO-8859-1 con utf8_decode

Un saludo
  #10 (permalink)  
Antiguo 10/11/2008, 15:17
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: mail con html

Hola jaronu, es que el chico primero queria decodificar solo el mensaje, pero luego puso la codificacion en todo el archivo.....

mas simple no seria que lo apoyes diciendo que retire el utf8_decode() del mail.....

Suerte a todos.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #11 (permalink)  
Antiguo 10/11/2008, 15:52
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: mail con html

No es eso le dije que cambiara este header

$headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n";

y creo ya no hace falta utf8_decode() en la funcion mail

Un saludo
  #12 (permalink)  
Antiguo 11/11/2008, 05:24
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: mail con html

no se que hablan, pero me funciono muy bien el codigo. muchas gracias masterojitos
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 13:27.