Foros del Web » Programando para Internet » PHP »

*** Enviar correo con formato HTML ***

Estas en el tema de *** Enviar correo con formato HTML *** en el foro de PHP en Foros del Web. Hola a todos, el asunto es el siguiente.. quisiera una orientacion porque estoy realizando un sistema de registro de usuarios y cuando terminan de registrarse, ...
  #1 (permalink)  
Antiguo 08/03/2005, 12:25
 
Fecha de Ingreso: marzo-2005
Mensajes: 34
Antigüedad: 12 años, 9 meses
Puntos: 0
*** Enviar correo con formato HTML ***

Hola a todos, el asunto es el siguiente.. quisiera una orientacion porque estoy realizando un sistema de registro de usuarios y cuando terminan de registrarse, envia un correo al usuario y al administrador de la web,....

Mi problema es que quiero saber como personalizar ese mail, como modificarlo a mi antojos, colocarle formato html, y demas, ya que por los momentos solo envia un mensaje tetrico con Times News Roman y todo lo demas predeterminado, quisiera que llegara con un formato bonito para que sea mas presentable.

El codigo va asi:

$subject1 = "Bienvenido a mipagina.com!";
$message1 = "$first_name $last_name, gracias por registrarse en www.mipagina.com!

Agradecemos su tiempo!
Cuando nuestro site este activo, usted podra acceder a areas de usuario con la siguiente información.

Usuario: $username
Contraseña: $pass_1


Muchas gracias!


mail($email_address, $subject1, $message1, "From: Ameri-Golf.com Webmaster<[email protected]>\nX-Mailer: PHP/" . phpversion());
============

En la variable $message es donde va el cuerpo del mensaje, pero no logro que funcione agregandole tags html, si los pongo antes de las comillas no los toma en cuenta y si los pongo despues, al usuario le llega el corero con el pocote de tags html....



Alguien seria tan amable de ayudarme
  #2 (permalink)  
Antiguo 08/03/2005, 12:43
Avatar de Niconirva  
Fecha de Ingreso: marzo-2005
Mensajes: 119
Antigüedad: 12 años, 9 meses
Puntos: 0
Yo soy ese "tan amabla"...

Esta bien, debes agregar los tags HTML dentro de la variable $message1 despues de las comillas. El problema que tienes es que las comillas de los tags confunden al php y producen errores, para corregir esto debes hubicar estrategicamente esta barra \ .. por ejemplo un tags tan común como este:

Código HTML:
<font face="Arial" color="#990000">Aquí tu mensaje</font> 
debe ser cambiado a este:

Código HTML:
<font face=\"Arial\" color=\"#990000\">Aquí tu mensaje</font> 
Y de esta manera, php no se confunde con las comillas, pero el resultado final (o sea, luego que lo procesa el servidor) el resultado es HTML lisa y llanamente, como la primer etiqueta.
Esto te deberia andar sin problemas, pero ten en cuenta que no todos los servidores de correo tienen la función para soportar HTML habilitada, (por ejemplo, yahoo por defecto no la tiene habilitada), y a la gente que le envies a yahoo y no tenga habilitada la función HTML le va a seguir llegando los feos tags que antes nombraste!, pero esto es otro tema y no depdende de tí.Saludos!!
__________________
"Quien no peca contra la ciencia no descubre nada"
Albert Einstein
  #3 (permalink)  
Antiguo 08/03/2005, 12:44
Avatar de chechun  
Fecha de Ingreso: diciembre-2001
Ubicación: Córdoba - Capital - Alber
Mensajes: 348
Antigüedad: 16 años
Puntos: 0
a ver si esto te sirve:
Código PHP:
<?php
$sfrom
="[email protected]"//cuenta que envia 
$sdestinatario="PABLITO"//cuenta destino 
$ssubject="Registro de tu cuenta"//subject 
$shtml="<body>
password: <b>" 
$password ":</b><br>usuario: <b>" $usuario ":</b>
  <br>
  <br>
  Saludos<br>
</body>"
;//final del mensaje 
$sheader="From:".$sfrom;
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n"
$sheader=$sheader."Mime-Version: 1.0\n"
$sheader=$sheader."Content-Type: text/html"
mail($sdestinatario,$ssubject,$shtml,$sheader); 
?>
Espero que te sirva :s no se si lo puse bien, pero algo asi es..! ;)
  #4 (permalink)  
Antiguo 08/03/2005, 12:55
 
Fecha de Ingreso: diciembre-2003
Mensajes: 19
Antigüedad: 14 años
Puntos: 0
Hay una duda que tengo hace tiempo, tengo una base de datos con el mail de unos 100 usuarios registrados, si quiero enviar una noticia a todos usando la funcion mail() por ejemplo, tengo que esperar algo entre envio y envio (sleep) para no saturar el servidor, o como se hace esto?
  #5 (permalink)  
Antiguo 08/03/2005, 13:03
Gux
 
Fecha de Ingreso: octubre-2003
Mensajes: 58
Antigüedad: 14 años, 1 mes
Puntos: 0
Mira el segundo ejemplo de la siguiente página:

http://www.desarrolloweb.com/articulos/969.php

suerte!
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 20:56.