Foros del Web » Programando para Internet » PHP »

Envio de Newsletter

Estas en el tema de Envio de Newsletter en el foro de PHP en Foros del Web. Hola amigos: He estado mirando las faqs pero no he encontrado una respuesta clara... así que.. allá va el planteamiento de mi pregunta.. Quiero realizar ...
  #1 (permalink)  
Antiguo 07/10/2003, 03:12
Avatar de korbendallastc  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 226
Antigüedad: 14 años, 10 meses
Puntos: 0
Envio de Newsletter

Hola amigos:

He estado mirando las faqs pero no he encontrado una respuesta clara... así que.. allá va el planteamiento de mi pregunta..


Quiero realizar un newsletter, en php, pero no se si la idea que tengo en mente es demasiado rústica o "de andar por casa". Es decir, he pensado que los usuarios que quieran se inscriban a través de un formulario. A través de ese formulario, se registraría el email del usuario en una base de datos mysql.

Para enviar el newsletter, lo haría desde un script php. El esquema de este script:

- Creo el contenido del newsletter en html
- Me conecto a la base de datos
- Voy leyendo los registros mediante un bucle y voy enviando un email a cada registro.

Como decía no se si se suele hacer así o si como digo es algo "basta". ¿Cómo lo haceis vosotros? Mi hosting tiene servidor smtp, por lo que el envio de emails desde el servidor no es problema. Sin embargo..si hay muchos usuarios inscritos, se podría bloquear por hacerlo así?

Espero vuestros consejos. Saludos y gracias
__________________
  #2 (permalink)  
Antiguo 07/10/2003, 04:06
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 7 meses
Puntos: 1
La idea de mandar boletines es mas o menos como la planteas
y para llevarla a cabo puedes usar la clase phpmailler

http://phpmailer.sourceforge.net/

y en cuanto a la cantidad quedas un poco supeditado a tu servidor, pues algunos limitan la cantidad de mails a enviar
por eso no es mala idea instalarte un servidor de envio masivo de emial en local, hay uno que no esta mal,

http://www.infacta.com/gm.asp

le das los datos de los mails a traves de un archivo de texto y el envia los boletines sin importar la cantidad a traves de tu pc, te evitas las limitaciones de los servidores , si las tiene claro.

un saludo
  #3 (permalink)  
Antiguo 07/10/2003, 04:50
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
Hola korbendallastc, yo tengo el mismo problema que tu. no soy capaz de hacerlo. gracias jordi1 por tu ayuda, ahora me ido a la pagina esa a descargarme el group mail free, aunque parece algo complejo. lo has hecho funcionar? como funciona? como funciona eso de tener las direcciones en un txt?

salu2, gracias!!
  #4 (permalink)  
Antiguo 07/10/2003, 05:09
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 7 meses
Puntos: 1
no no es demasiado complejo,

Las direcciones email, las pones en un archivo de texto separadas por coma, puedes hacer un bucle y sacarlas de la bdd e imprimirlas en un .txt

luego solo es segui los pasos que te marca el programa, le das la direcion del archivo .txt con una especie de formulario file y el las carga

es probar como en todo

un saludo
  #5 (permalink)  
Antiguo 07/10/2003, 05:15
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
ya lo he conseguido jordi. ahora mismo, esto me saca del apuro. estoy haciendo un proyecto de promociones por internet. ahora mismo esto me sirve, pero necesitaria, mas adelante, un sistema que el usuario se diera de alta en una bd, quedara registrado, aceptará recibir información, y entonces hacer un aplicacion php para enviar el html a los que han aceptado. tu podrias ayudarme en algo asi?

una pregunta, hay algun limite de correos a la hora de enviar?

gracias
  #6 (permalink)  
Antiguo 07/10/2003, 05:18
Avatar de korbendallastc  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 226
Antigüedad: 14 años, 10 meses
Puntos: 0
ok, muchas gracias.

Ahora mismo me pongo con ello, si tengo algún problema, vuelvo a escribir. ;)

Lo dicho, gracias y muchos saludos.
__________________
  #7 (permalink)  
Antiguo 07/10/2003, 05:30
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 7 meses
Puntos: 1
ferranWEB,


Cita:
pero necesitaria, mas adelante, un sistema que el usuario se diera de alta en una bd, quedara registrado, aceptará recibir información, y entonces hacer un aplicacion php para enviar el html a los que han aceptado
Obiamente para enviar mails de promocion necesitas la autorizacion del que lo recibe, si no seria spam, y la verdad nada mas lejos de mi intencion es promocionar esta lacra, bastante tengo que recibo cada dia 200 mails de publicidad.

y encuanto a aydarte a ahcer la aplicacion php para montar las inscripciones seguro que aqui en el foro entre todos te ayudaremos encantandos

un saludo
  #8 (permalink)  
Antiguo 07/10/2003, 05:34
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,
Cita:
una pregunta, hay algun limite de correos a la hora de enviar?
Si miras en la pagina de ese producto, veras que hay distintas versiones. Y en la pagina de comparacion pone para la version Free:
Cita:
Send to a maximum of 100 recipients at a time
Ademas, esa version creo que requiere un servidor SMTP externo.

Y sobre la pregunta original, ese algoritmo es el que basicamente se usa. Si tienes muchos emails que enviar, posiblemente superes el tiempo limite de ejecucion del script. Pero ese valor puedes cambiarlo con set_time_limit() (www.php.net/set_time_limit).

De todas formas, coincido con que es mas "practico" realizar el envio desde local que desde la web.

Eso si, si usas un SMTP externo (o el de la web) asegurate que no tiene ningun limite de emails por hora. Hay muchos que lo ponen para evitar el envio de SPAM.

Muchos hosting ofrecen en su paquete listas de correos (majordomo o alguna otra). Configurada correctamente, una lista de correos se comporta igual que un newsletter. Seria configurar la lista como "Lista de anuncios", dejando solo permiso para enviar a la lista al administrador.

Saludos.

PD: Si rebuscais por hotscripts, seguro que hay scripts integramente en PHP para gestionar newsletters y listas. Incluso controlando los "rebotes", el doble opt-in, el double opt-out y demas.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 07/10/2003, 05:39
Avatar de korbendallastc  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 226
Antigüedad: 14 años, 10 meses
Puntos: 0
Si..bueno..yo quiero hacer algo parecido, asi que te doy mi idea...

Mis usuarios se tendrán que registrar para acceder a algunas zonas. En ese registro indican si desean suscribirse al boletín. Yo grabo todos los datos en la base de datos mysql, en una misma tabla. Allí, habrá un campo que guardará si desea o no desea recibir el boletín. Luego, con el bucle, voy enviando el email a aquellos registros en los que dicho campo valga "S" (u otro parametro de control); o en el caso del txt, pues paso las direcciones adecuadas al txt.

Espero que más o menos la idea te sirva...

Saludos!!
__________________
  #10 (permalink)  
Antiguo 07/10/2003, 05:44
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
gracias, la idea es esa. yo quiero montarlo de la misma manera. lo tengo pensado de la misma manera que tu. lo que no consigo hacer es enviar un html, a todos los que hayan puesto que quieren recibir la información, y además enviarselo a su mail.

tu sabes como hacerlo? llevo dos dias volviendome loco!!!

a ver si podemos ayudarnos. Salu2 y gracias
  #11 (permalink)  
Antiguo 07/10/2003, 05:59
Avatar de korbendallastc  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 226
Antigüedad: 14 años, 10 meses
Puntos: 0
Hum..estoy mirando los enlaces de jordi... 100 solo se queda my corto... pero..supongo que esto en una aplicación ya hecha... pero si quiero instalar un servidor de correo en local... como lo hago? tengo que bajar algo?


FerranWEB, yo tengo pensarlo hacerlo como te digo... en un script php programo el newsletter en html, supongo que a base de variables. Despues conecto a la base de datos y mediante un bucle voy leyendo los registros, como si fuera a hacer un relación de resultados. Allí miro el valor del campo (si vale S lo envio, si vale N, no lo envio). O también se me ocurre hacer un filto y solo ir mostrando aquellos que tenga el S en dicho campo.


Supongo que habrá más formas o métodos (supongo que mejores) de hacerlo... pero es lo que se me ocurre.

Por cierto..alguna alternativa a escirbir el newsletter en html mediante variables? despues lo enviaría mediante la típica funcion de mail, con sus cabeceras, asunto y demás... lo dicho.. alguna alternativa?
__________________
  #12 (permalink)  
Antiguo 07/10/2003, 06:22
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
yo creo que podria ser algo asi....

include("mandar.php");
$sql = mysql_query("SELECT * FROM usuarios WHERE confirmacion='S'");
while($row=mysql_fetch_array($sql)){
$para = $row['mail'];}
$message="pagina.html";
$asunto="Envío de Informacion";
$mail = mail($para,$asunto,$message);

el problema es que a mi me da error. el mandar.php es un script que ya tenia hecho, y que con variables me funcionaba. enviaba unas variables desde un form, las recibia y las metia en el mensaje. el codigo no creo que sea correcto, pero no llevo mucho con php y voy aprendiendo un poco acada dia. a ver si entre los 2 lo sacamos.

salu2
  #13 (permalink)  
Antiguo 07/10/2003, 08:23
Avatar de korbendallastc  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 226
Antigüedad: 14 años, 10 meses
Puntos: 0
Hola amigo!!

Ya lo he hecho ;)

Te cuento.. para mandar los boletines, utilizaré un archivo escrito en php, que he llamado eboletin.php. Bien, en este archivo he escrito:


Código:
<?
//cabeceras para el envio del mail en html y dire de quien lo envia
$headers = "MIME-Version: 1.0\r\n";
$headers = "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: [email protected]\r\n";

$asunto = "Newsletter Templo Binario";

//inicio del codigo html del mensaje
$mensaje = "<html>
<head>
<title>Newsletter Templo Binario</title>
</head>

<body>

<center>
<table width='750' border='0' bgcolor='336699' cellspacing='0' cellpadding='0'>
<tr> 
<td>
Texto del newsletter....
</td>
</tr>
</table>
</center>

</body>
</html>"; //fin del codigo html del newsletter

//conecto con la base de datos
$conecto = mysql_connect("localhost","miuser","mipassword");
mysql_select_db("mibasededatos",$conecto);

$actuacion="select * from usureg where sboletin='S'";

$actuo=mysql_query($actuacion,$conecto);

while ($fila = mysql_fetch_object($actuo)){

$emailaenviar="".$fila->email."";

mail($emailaenviar, $asunto, $mensaje, $headers);

}

?>
Luego, cada vez que quiera enviar el newsletter...cambio el codigo html y ya está. (Lo edito en el editor para ver como queda y luego copio el codigo a la variable mensaje.)

Lo he probado y funciona Pero ahora solo me queda saber como he de instalar el servidor smtp en mi ordenador para enviar los newsletters desde allí.

Saludos ;)
__________________
  #14 (permalink)  
Antiguo 07/10/2003, 11:48
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
Buen trabajo amigo!! sale perfecto, aunque esto tendriamos que ir perfeccionandolo. he hecho yo una prueba, y me he vuelto loco pq no me salia, hasta decubrir en el php no se pueden poner las " !!!.

Una cosa, rizando el rizo.. podria ponerse en la variable $mensaje, un archivo externo? es decir, imagina por comodidad que hacemos el archivo y lo vinculamos directamente desde un panel de control en internet... podriamos subir un archivo a un campo de la base de datos, y este ser el valor de la variable?? a la hora de administrar el boletin, nos seria mucho más comodo, no crees??

ahora voy a intentar que el html vaya personalizado, es decir, mail y nombre... ya te cuento


salu2, y muchas gracias!!
  #15 (permalink)  
Antiguo 07/10/2003, 13:04
Avatar de korbendallastc  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 226
Antigüedad: 14 años, 10 meses
Puntos: 0
Pues no se...eso no le he probado... pero todo será cuestión de hacerlo.. si no sale..se me ocurre una alternativa parecida:

En la base de datos, crear por ejemplo una tabla llamada boletines, con los datos de fecha, número de boletín, etc.. y el texto que deseemos. En el texto, irá el codigo html.

Luego desde el script, con hacer referencia a esos campos, tendremos el newsletter. Si funciona... tengo que probarlo.. será más práctico que mi primera sugerencia... o si funciona la tuya, ya me comentas.... ;)

Sin embargo..lo que no consigo es enviar los emails desde local... repetimos la pregunta... que debo hacer para instalar un servidor smtp en mi equipo?

Muchos saludos, amigo.
__________________
  #16 (permalink)  
Antiguo 07/10/2003, 15:19
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,
Cita:
que debo hacer para instalar un servidor smtp en mi equipo?
Sencillo. Te bajas el programa y lo instalas Realiza una busqueda por SMTP en el fro, te apareceran varios mensajes en los que se ponen URLs a servidores.

Luego solo es cuestion de configurar el php.ini para que apunte a ese servidor (mira en las FAQs, hay una que explica como).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #17 (permalink)  
Antiguo 07/10/2003, 16:35
Avatar de korbendallastc  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 226
Antigüedad: 14 años, 10 meses
Puntos: 0
En una primer "estudio" creo que me quedo con el de la AI en http://www.internautas.org/article.php?sid=167 o el de QK.. cual me recomiendas? has utilizado alguno de estos? alguna referencia?

Gracias y saludos. ;)
__________________
  #18 (permalink)  
Antiguo 07/10/2003, 18:13
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
no entiendo cuando te refieres a enviar mail desde smtp. por otra parte, tu idea me parece interesantisima,y creo que tiene más posibilidades de éxito que la mia.

una pregunta, si quiero personalizar el mail, es decir, que el html contenga el nombre de la persona... como vinculo el mail con el nombre, si no están en la misma pagina? como lo relaciono??

salu2 y gracias!!
  #19 (permalink)  
Antiguo 08/10/2003, 02:00
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Sobre el servidor, fijate en las caracteristicas. El QK, si es uno que recomienda Cluster, es shareware (30 dias gratis, luego a pagar).

Y para "personalizar" los emails, revisad este mensaje: http://www.forosdelweb.com/s/msg156986.html . Sobre todo fijaos en lo que comenta Webstudio de que PHP en si funciona como un "motor de plantillas". Porque realmente eso es lo que hareis: crear una plantilla del mensaje y luego personalizar con los valores.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #20 (permalink)  
Antiguo 09/10/2003, 05:53
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
Hola korbendallastc, como va la aplicación? yo no he conseguido que la variable $mensaje = a un archivo con la pagina html. ahora faltará comprobar cuantos mails me deja enviar de golpe. se puede saber de alguna manera? y otra cosa, hay alguna opción de saber si los mails son recibidos??


salu2, y gracias
  #21 (permalink)  
Antiguo 30/10/2003, 02:48
Avatar de korbendallastc  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 226
Antigüedad: 14 años, 10 meses
Puntos: 0
Buenas a todos!!

Tras otras prioridades tuve que dejar un poquillo este aspecto.. pero ya lo he retomado...


Resulta que he hecho lo que me aconsejasteis, he instalado un servidor de correo y le he dicho al php.ini cual es el servidor smtp que debe usar... pero me sale el siguiente error:

Warning: mail() [function.mail]: Failed to connect to mailserver at "80.58.32.97" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()

Eso quiere decir que el servidor de correo no está bien instalado?
Como lo soluciono?

Por cierto.. ferranWeb... como vas en el empeño?

Muchos saludos.
__________________
  #22 (permalink)  
Antiguo 30/10/2003, 07:55
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 7 meses
Puntos: 1
parece ser que le das tu IP en el php.ini, y deberias darle o bien
localhost o bien si tu IP de ordenador bien en lan que suele ser 192.168.1.X donde X seria tu ordenador o bien la de local que suele ser 127.0.0.1

espero que te sirva
  #23 (permalink)  
Antiguo 30/10/2003, 11:27
Avatar de korbendallastc  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 226
Antigüedad: 14 años, 10 meses
Puntos: 0
Ok, gracias, ya lo he solucionado.. Ahora tengo que encontrar un servidor decente y freeware de correo... me he bajado varios.. pero unos no funcionan, son defectuosos o simplemente no me convencen....

¿más sugerencias?


Gracias a todos ;)

Pd: FerranWeb, amigo, estoy apunto de lograrlo
__________________
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:37.