Foros del Web » Programando para Internet » PHP »

Envío de boletines

Estas en el tema de Envío de boletines en el foro de PHP en Foros del Web. Hola gente. Estoy intentado hacer un programita que me genere un boletin con por ejemplo los ultimos 10 articulos del mes y que envíe por ...
  #1 (permalink)  
Antiguo 03/08/2005, 12:58
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 14 años
Puntos: 4
Envío de boletines

Hola gente.

Estoy intentado hacer un programita que me genere un boletin con por ejemplo los ultimos 10 articulos del mes y que envíe por mail a las direcciones que están en una base de datos.

Alguien tienen alguna idea de como hacer que se genere una página con el boletion en si y que guarde esa página para su reenvio. Además de eso necesito enviar por mail y que las imagenes que contenga no se envíen como adjunto sino linkeado a una dirección. Esto último para que el usuario no tenga que esperar a que baje todo el mail en el outlook para poder leer.

Necesito hacer algo tipo los boletiones de www.desarrolloweb.com
  #2 (permalink)  
Antiguo 03/08/2005, 13:48
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 14 años
Puntos: 4
Encontré este codigo y lo cambie un poco para usarlo. Le quite la parte de la base de datos y hago como que ya tengo una cadena con los emails concatenados.

PEro al enviar no se ve la imagen ni el css y conste que los puse con direccion absoluta.

Alguien sabe por qué?

<?php

$losemails = "[email protected]";
// se definen los argumentos de mail( ):
$asunto='Prueba de email desde PHP';
$mensaje='<html>
<head>
<title>Titulo de la Pagina</title>
<link href="http://www.granodemostaza.org/v1/gdm_css/varios.css" rel="stylesheet" type="text/css">
</head>
<body>
<p>Esta es una prueba de emails en formato HTML</p>
Precios de nuestros productos:
<table>
<tr>
<th class="texto1">PRODUCTO<th>PRECIO<th>PROMOCION</th>
</tr>
<tr>
<td><img src="http://www.desarrolloweb.com/images/logo_desarrollo_web.gif" width="10" height="6"></td><td>25,50</td><td>23,00</td>
</tr>
<tr>
<td>Helado Napolitano</td><td>27,50</td><td>25,00</td>
</tr>
<tr>
<td>Patatas</td><td>18,50</td><td>15,00</td>
</tr>
</table>
</body>
</html>';

/*
Aquí debe poner su email en formato HTML
*/

$envia='Mi Nombre';
$remite='[email protected]';

/*
Enviante: Nombre del enviante
Email_remitente: email que desea mostrar como remitente.
*/

/// Envío del email:

mail(null, $asunto, $mensaje, "MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
From: $envia <$remite>
Bcc: $losemails" . "\r\n") or die("Error al Enviar el Email");
echo "Mensaje Enviado con Éxito!"; //

?>

Última edición por micayael; 04/06/2008 a las 08:36
  #3 (permalink)  
Antiguo 03/08/2005, 13:54
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Envia el mail en formato HTML y las imagenes iran EN EL y no como archivos adjuntos.

El sistema es simple... tienes que hacer un archivo .php y colocarlo en algun directorio de tu sitio (al que solo tu puedas acceder, yo lo tengo debajo de public_html) y hacer un cron job que se ejecute todos los días a las 23:55hs.

En el archivo tienes que hacer un WHILE con Limite en 10 y que lea solo las noticias del día... ejemplo:

Código PHP:
<?php
//conexion MySQL
$_DATE date("d.m.y");
$_CONTENT "";
$_SQL mysql_query("SELECT * FROM noticias WHERE fecha = '$_DATE' ORDER BY id DESC LIMIT 0,10"); 
while(
$row=mysql_fetch_array($_SQL)){
  
$_CONTENT .= '
          <h1><span class="fecha">'
.$row["fecha"].' ¦ </span>'.$row["titular"].'</h1>
          <h5 class="a" align="justify">'
.$row["texto"].'</h5>
          <h5>*</h5>
  '
;
}
?>
Ahi consigues que la variable $_CONTENT tenga todas las noticias, luego envias el mail de esta forma:

Código PHP:
//parametros del mail
$_ASUNTO 'Newsletter '.$_DATE;
$_MENSAJE '
<html>
<head></head>
<body>
  <div class="">
    '
.$_CONTENT.'
  </div>
</body>
</html>
'
;

//enviamos mail
$_MAIL "[email protected]";
$_HEADER  "MIME-Version: 1.0\r\n";
$_HEADER .= "Content-type: text/html; charset=iso-8859-1\r\n";
$_HEADER .= "From: [mi sitio] News <[email protected]>\r\n";
mail($_MAIL$_ASUNTO$_MENSAJE$_HEADER);
?> 
Espero que este claro..

saludos.
__________________
I Love Programming...
  #4 (permalink)  
Antiguo 03/08/2005, 13:55
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
bu... te contestaste a vos mismo justo cuando estaba escribiendo mi mensaje :p
__________________
I Love Programming...
  #5 (permalink)  
Antiguo 03/08/2005, 14:15
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 14 años
Puntos: 4
HOLA FuLaNo. Lo que pasa es que no resuelve lo que escribi. No envía las imagenes. Salen los datos dentro de la tabla pero no sale la imagen que ahi puse ni reconoce el css y creo que lo estoy enviando como html.
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 10:22.