Foros del Web » Programando para Internet » PHP »

Enviar correo html?

Estas en el tema de Enviar correo html? en el foro de PHP en Foros del Web. Quier enviar un correo html, que debo hacer crearme primero la pagina web que voy a enviar y luego seleccionarla, un ejemplo: require("class.phpmailer.php"); $mail = ...
  #1 (permalink)  
Antiguo 24/05/2004, 06:47
zpl
 
Fecha de Ingreso: marzo-2004
Mensajes: 91
Antigüedad: 13 años, 9 meses
Puntos: 1
Enviar correo html?

Quier enviar un correo html, que debo hacer crearme primero la pagina web que voy a enviar y luego seleccionarla, un ejemplo:


require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();
$mail->PluginDir = "includes/";
$mail->Host = "192.168.1.221 "; // SMTP servers
$mail->Mailer = "smtp";


$mail->From = "[email protected]";
$mail->FromName = "MAPA";
$mail->Timeout=30;



$query = "SELECT * FROM clientes";
$result = mysql_query($query);

while ($row = mysql_fetch_array ($result))
{
// HTML body
$body = "Hello <font size=\"4\">" . $row ["full_name"] . "</font>, <p>";
$body .= "<i>Your</i> personal photograph to this message.<p>";
$body .= "Sincerely, <br>";
$body .= "PHPMailer List manager";



$mail->Body = $body;
$mail->AltBody = $text_body;
$mail->AddAddress($row[email], $row[Contacto]);


if(!$mail->Send())
echo "There has been a mail error sending to " . $row["email"] . "<br>";

// Clear all addresses and attachments for next loop
$mail->ClearAddresses();
$mail->ClearAttachments();
}



que deberia de poner en el body para enviar una pagina con fotos y todo, por ejemplo ofertas de productos.Gracias
  #2 (permalink)  
Antiguo 24/05/2004, 08:59
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 293
Antigüedad: 14 años, 1 mes
Puntos: 1
DEMASIDO COMPLICADO HAY UN METODO MUCHO MAS SENCILLO PARA ESO

Código PHP:
$email "[email protected]";
mail($email"Contacto","
<html>
<head>
<style type=\"text/css\">
pon el estilo de la pagina
</style>
<title>aulatina</title>
</head>
<body>

Pagina web 
imagenes en absoluto  
<IMG SRC='http://www.dominio.com/images/espacio.gif' WIDTH=105 HEIGHT=3>
</body>
</head>
</html>
"
,"Content-type: text/html\n""FROM: ASUNTO <$correo>\n"); 
O mas facil:

Código PHP:
$email "[email protected]";
mail($email"Contacto","
include("
envios.html");
"
,"Content-type: text/html\n""FROM: ASUNTO <$correo>\n"); 
Y asi lo haces fura del escrip en envios.html

Si es un envio a saco puedes hacer uno que tire de la base de datos se ejecute y alfinal del scrip le dices que lo ejecute de nuevo sumando uno al id de la tabla asi pasara al siguente cliente, y si termina pues que lo deje ya porque un spam al dia es suficiente.
__________________

diseño web

Última edición por concric; 24/05/2004 a las 09:09
  #3 (permalink)  
Antiguo 24/05/2004, 10:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mmm concric ...

Sabes .. lo bueno que tiene la classe PHP Mailer no es sólo que puedas enviar e-mail en formato HTML .. sino que incorpora la mayoría de normativa de las RFC's que definen el protocolo SMTP .. además del resto de funcionalidades como la de poder enviar el e-mail por SMTP directo y otras cosas.


zpl

Si lees la documentación de PHP Mailer veras que puedes enviar imagenes incrustradas en tu própio e-mail con lo cual aumentas el peso del e-mail pero llegaran junto al e-mail.

Pero .. lo más simple es que en tu código HTML de tu mensaje incluyas las imagenes con ruta absoluta que apunten a tu servidor (donde las tengas) tipo: <img src="http://www.tal.ta/imagenes/tal.jpg"> .. así tu e-mail no pesará (en Bytes) más que el própio HTML .. Pero, requerirá de que el cliente vea su e-mail "on line" (en conexión a internet).

Decidete por algún método y sigue leyendo la documentación y ejemplos de dicha Classe PHP Mailier.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 24/05/2004, 11:22
zpl
 
Fecha de Ingreso: marzo-2004
Mensajes: 91
Antigüedad: 13 años, 9 meses
Puntos: 1
Gracias, otra ayuda.

He estado leyendo la documentacion de:

http://www.programacion.com/php/articulo/phpmailer/

y de:

http://phpmailer.sourceforge.net/

pero no encuentr nada de lo que comentas, como mucho encuentro lo de meter las imagenes con la ruta de donde se encuentra, pero no lo de insertar una imagen en el correo.

Me podrias orintar un poco mas.Gracias po todo.
  #5 (permalink)  
Antiguo 24/05/2004, 11:57
zpl
 
Fecha de Ingreso: marzo-2004
Mensajes: 91
Antigüedad: 13 años, 9 meses
Puntos: 1
Otra cuestio.

Porque este codigo me envia dos veces el primer correo de la base de datos:

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();
$mail->PluginDir = "includes/";
$mail->Host = "*****"; // SMTP servers
$mail->Mailer = "smtp";


$mail->From = "**@*********";
$mail->FromName = "****";
$mail->Timeout=30;



$query = "SELECT * FROM clientes where Ofertas='S'";
$result = mysql_query($query);

while ($row = mysql_fetch_array ($result))
{
$mail->IsHTML(True);
$body = "Hello <font size=\"4\">" . $row["full_name"] . "</font>, <p>";
$body .= "<i>Your</i> personal photograph to this message.<p>";
$body .= "Sincerely, <br>";
$body .= "PHPMailer List manager";



$mail->Subject = "*****";
$mail->Body = $body;

$mail->AddAddress($row[email], $row[Contacto]);


$exito = $mail->Send();

$intentos=1;
while ((!$exito) && ($intentos < 5)) {
sleep(5);
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;

}


if(!$exito)
{
echo "Problemas enviando correo electrónico a ".$valor;
echo "<br/>".$mail->ErrorInfo;
}
else
{
echo "Mensaje enviado correctamente a $row[email]\n";
}
}

?>
  #6 (permalink)  
Antiguo 24/05/2004, 12:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Fijate en el "Tutorial" de PHP Mailer:

http://phpmailer.sourceforge.net/tutorial.html#3

En el apartado: Inline Attachments

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 24/05/2004, 12:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Porque este codigo me envia dos veces el primer correo de la base de datos:
Al parecer por qué no haces un

Cita:
// Clear all addresses and attachments for next loop
$mail->ClearAddresses();
Tal cual puedes ver en el ejemplo:

1. Advanced Example
http://phpmailer.sourceforge.net/extending.html

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 05:38.