Foros del Web » Programando para Internet » PHP »

formato HTML

Estas en el tema de formato HTML en el foro de PHP en Foros del Web. Hola amigosd, como les va? Estoy armando un " recomendar a un amigo " y gracias a Dios todo anda bien, el mail llega sin ...
  #1 (permalink)  
Antiguo 23/10/2007, 09:26
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
formato HTML

Hola amigosd, como les va? Estoy armando un "recomendar a un amigo" y gracias a Dios todo anda bien, el mail llega sin problemas....pero si existe y un problema, el mail que me llega es texto plano, no me reconoce el HTML.

Este es el código:

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
  </head>
  <body>
<?php

$user 
'[email protected]';
$pass 'xxxxxxxxxx';


$urlget $_GET['url'];
$url $_POST['url'];
$de $_POST['remitente'];
$para      $_POST['para'];
$asunto    $_POST['asunto'];
$mensaje   $de " te envio este link <br /><br /> <a href=\"$url\">Link</a>";

$cabeceras $mail->make_header(    $de$para,    $asunto3$de"");
$cabeceras .= 'MIME-Version: 1.0' "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' "\r\n"

if(
$para != ""){
  
  
// Se incluye la librería necesaria para el envio
    
require_once("fzo.mail.php");
    
  
$mail = new SMTP("localhost"$user$pass);
    
  
// Se envia el correo y se verifica el error
  
$error $mail->smtp_send($de$para$cabeceras$mensaje$de"");
  
  if (
$error == "0"){
    echo 
"Mail enviado con exito!<br /><br />" $mensaje "<br />";
  }else{
    echo 
$error;
  }
  
}
?> 

<form action="enviamail.php" name="formulario" id="formulario" method="post">
  <input type="hidden" name="url" value="<?php echo $urlget ?>">
  Para <input type="text" name="para" id="para"><br />
  Remitente <input type="text" name="remitente" id="remitente"><br />
  Asunto <input type="text" name="asunto" id="asunto"><br />
  <input type="submit" name="Enviar">
</form>


  </body>
</html>
Aparentemente el problema estaría aca:

Código PHP:
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' "\r\n"
pero no se donde... si alguien me pudiera da runa manito le agradeceria infinitamente.


DX
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #2 (permalink)  
Antiguo 23/10/2007, 11:12
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: formato HTML

perdón, pero nadie sabe? necesito esto si o si!!!
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #3 (permalink)  
Antiguo 23/10/2007, 11:21
Avatar de Ruben_JD  
Fecha de Ingreso: diciembre-2003
Ubicación: Quito-Ecuador
Mensajes: 218
Antigüedad: 20 años, 4 meses
Puntos: 7
Re: formato HTML

porque no pruebas ingresando las variables dentro de una <table> y colocandolas para dar un diseño de presentacion ubicaciones en <td>
__________________
RubénJ. Regresando al foro despues de un par de años. A preguntar más de las novedades del foro.
  #4 (permalink)  
Antiguo 23/10/2007, 12:02
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: formato HTML

porque lo que no me esta tomando son los tags de HTML......el correo me llega en este formato:

Cita:
[email protected] te envio este link <br /><br /> <a href="http://www.kuartadimension.com.ar/cucumail/">Link</a>
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #5 (permalink)  
Antiguo 23/10/2007, 12:28
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: formato HTML

Buenas

Así a ojo diría que el problema te está viniendo por otro lado. Los headers se deben estar creando con algún mensaje de error porque estás llamando al método de un objeto antes de haber instanciado el objeto.

Fíjate que llamas al método make_header de un objeto $mail antes de haberlo creado. Después concatenas los encabezados de content-type y eso pero se deben de estar concatenando a algún mensaje de error. Imagino que tu variable $cabeceras debe de estar quedando algo como

PHP Notice: Undefined variable: mail in blablablá Fatal error: Call to a member function make_header() on a non-object in blabla más los headers posteriores.

Prueba a poner la línea que crea la instancia del objeto antes de crear las cabeceras

un saludo
  #6 (permalink)  
Antiguo 23/10/2007, 13:19
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: formato HTML

lo hice, ahora tengo este código, pero tampoco....

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
  </head>
  <body>
<?php

$user 
'[email protected]';
$pass 'xxx';


$urlget $_GET['url'];
$url $_POST['url'];
$de $_POST['remitente'];
$para      $_POST['para'];
$asunto    $_POST['asunto'];
$mensaje   $de " te envio este link <br /><br /> <a href=\"$url\">Link</a>";

if(
$para != ""){
  
  
// Se incluye la librería necesaria para el envio
    
require_once("fzo.mail.php");
    
  
$mail = new SMTP("localhost"$user$pass);
  
  
$cabeceras $mail->make_header(    $de$para,    $asunto3$de"");
  
  
//$cabeceras .= 'From: ' . $de . "\r\n";
  
$cabeceras .= 'MIME-Version: 1.0' "\r\n";
  
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' "\r\n"

    
  
// Se envia el correo y se verifica el error
    
$error $mail->smtp_send($de$para$cabeceras$mensaje$de"");
  
  if (
$error == "0"){
    echo 
"Mail enviado con exito!<br /><br />" $mensaje "<br />";
  }else{
    echo 
$error;
  }
  
}
?> 

<form action="enviamail.php" name="formulario" id="formulario" method="post">
  <input type="hidden" name="url" value="<?php echo $urlget ?>">
  Para <input type="text" name="para" id="para"><br />
  Remitente <input type="text" name="remitente" id="remitente"><br />
  Asunto <input type="text" name="asunto" id="asunto"><br />
  <input type="submit" name="Enviar">
</form>


  </body>
</html>
realmente no se que hacer....es muy raro....gracias tunait!
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #7 (permalink)  
Antiguo 23/10/2007, 14:24
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: formato HTML

mmm... pídele que te imprima el valor de $cabeceras a ver qué está enviando
  #8 (permalink)  
Antiguo 24/10/2007, 09:16
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: formato HTML

...y ¿qué pasó al final, Dragon, lo resolviste?
  #9 (permalink)  
Antiguo 24/10/2007, 15:03
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Re: formato HTML

Dragonx:
El problema que tu tienes es que la libreria que estas usando es una libreria para texto plano y NO para envio html.
Saludos
Y espero te ayude
Franco

Aqui te incluyo este pequeño script de prueba que utilizo para enviar imagenes y enlaces por correo:

<?php //Envia las imagenes y el link al texto
$origen = "[email protected]"; //utilizando MIME types
$destino="[email protected]"; //cuenta destino
$asunto = "probando Envio de Imagenes GIF Via Correo";
$mensaje = "Este Envio Novedoso de Imagenes es SuperRevolucionarioo. Gracias.<br>";
$mensaje .= "<img src=\"http://123.456.789.012/mailphp/pruebas/Leopardo.gif\">";
$mensaje .= "<img src=\"http://123.456.789.012/mailphp/pruebas/rooster.gif\">";
$mensaje .= "<img src=\"http://123.456.789.012/mailphp/pruebas/celular.gif\">";
$mensaje .= "<br><img src=\"http://123.456.789.012/mailphp/pruebas/mariaxgh.gif\">";
$mensaje .= "<br><a href=\"http://123.456.789.012/mailphp/pruebas/proyecto.txt\">AQUI PARA VER EL ARCHIVO PROYECTO.TXT!</a>";
$mensaje .= "<br>Cortesia de Francisco";
$cabecera = "From:".$origen."\nReply-To:".$origen."\n";
$cabecera = $cabecera."X-Mailer:PHP/".phpversion()."\n";
$cabecera = $cabecera."Mime-Version: 1.0\n";
$cabecera = $cabecera."Content-Type: text/html";
mail($destino,$asunto,$mensaje,$cabecera);
echo "Correo Enviado";
?>

Última edición por franco190453; 24/10/2007 a las 15:15
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 10:55.