| Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS | ||||
| ARTICULO: Envío de boletines a emails de una base de datos MySQL |
Se muestran 21 comentarios sin revisar
| simon montaño | 01/7/05 |
| no soy un experto en PHP pero creo q deberias de modificar la estructura correspondiente a las variables $headers, con eso, creo que podrias resolver el problema del que hablas en el articulo. Yo lo voy a probar si logro modificarlo lo publicare ak. saludos y buen trabajo. | |
| Ramfiz Rodriguez | 01/7/05 |
| Pus en realidad presenta otro problema este articulo y no sé si llamarlo de portabilidad ( no todos lo veran bien ) *** Miren mi codigo****** $mensaje = html_entity_decode(stripslashes($HTTP_POST_VARS['mensajito'])); $fromname= "JASCA"; $fromaddress= "prometeus@jasca.org"; $cabeceras = "MIME-Version: 1.0\n"; $cabeceras .= "Content-type: text/html; charset=iso-8859-1\n"; $cabeceras .= "X-Priority: 3\n"; $cabeceras .= "X-MSMail-Priority: Normal\n"; $cabeceras .= "X-Mailer: php\n"; $cabeceras .= "From: \"".$fromname."\" <".$fromaddress.">\n"; while ($contek = mysql_fetch_row($syntek)){ $garza = "Saludos ". $contek[0]." \n".$mensaje; mail($contek[1],$tema,$garza, $cabeceras); } y de 200 correos que tengo como el 12 o 10% no lo miran bien, yo no pongo el HTML en una VARIABLE sino que lo mando via POST y como mi servidor tiene el MAGIC_QUOTES encendido tengo que hacer el StripSlashes y luego el HTML_ENTITY para que me lo tome como HTML lo que le envio. Ahora Tengo problemas de PORTABILIDAD. |
|
| Italo Neira | 04/7/05 |
| Hace poco termine de hacer un gestor de boletines en PHP similar al descrito en el articulo. Para esto utilize la libreria PHP mailer (ver http://phpmailer.sourceforge.net) que es gratuita y ofrece una clase PHPMailer con varios metodos para enviar correos de forma mas optima. Por ejemplo el metodo AddAddress permite crear listas de destinatarios de forma transparente. Otros metodos permiten agregar headers, archivos adjuntos, etc. Recomiendo lo revisen, ya que es una buena solucion ademas para el problema descrito respecto al campo "PARA" y los software anti-spam. | |
| Rodrigo Villa | 04/7/05 |
| Hola.. estube probando y registre tres usuarios a la base de datos y al cargar el url para enviar el correo me muestra el mensaje "No hay destinatarios" y si los hay.. y una preunta extra me di cuenta que en la base de datos en el campo de email no muestra el correo y muestra: 'Resource id #5' es normal?.. Saludos.. :D |
|
| Pedro | 05/7/05 |
| Yo añadiría la llamada a la función foreach cuando consultamos la cantidad de emails de la base de datos. De tal modo que la funcion FOREACH recorra uno a uno los destinatarios y envíe el email de forma personalizada para que aparente menos ser un SPAM. Entonces quedarío conceptualmente así: $select=Select * from tabla_destinatarios $destinatario=mysql_fetch_array $select foreach($destinatario){ mail($destinatario["email"],"Boletin",$cuerpo_mensaje,$cabeceras); } SALUDOSS!!!! |
|
| Cesar | 06/7/05 |
| Tengo un script parecido a este para el envio de mis boletines, pero me toco quitarlo porque el unico problema que tiene es que puede llegar a tumbar el servidor, yo lo estaba mandando a una B.D. de 10.000 personas y tumbaba el server, entonces mi compañia de Hosting amenazo con retirarme el servicio si no lo quitaba, el script según veo envia en el BCC todos los correos al mismo tiempo, yo lo que hacia era que me enviaba uno por uno, por eso tumbaba el server. | |
| jimmy | 19/8/05 |
| Para evitar ese problema que mencionas del famoso 'para' que esta en blanco, no es mejor crear una cadena, asi se le indica sea por medio de un array, que se le indique enviar a (osea a los del para )lo que esta en la base de datos. No soy muy diestro en explicar la idea, pero espero me entiendan. |
|
| Rober | 23/8/05 |
| Se puede poner un campo para con el nombre de la lista a la que la gente se ha "suscrito" algo así como "To: boletin-novedades@mipagina.com" y en el Bcc la lista real de destinatarios. La direccion boletin-novedades puede existir y recoger copias de los boletines, por ejemplo. |
|
| CHriSTi@M | 29/9/05 |
| Saludos, mi preunta es: Como puedo hacer mas personalizado los mail que mando, osea con el nombre del Usuario en cada mail, gracias | |
| Jim | 21/12/05 |
| Bueno con referencia al 'Para' deberian de usar el sistema de formulario, cuando uno cuenta con el sistema de autoresponder, este le indica el para, algo similar se debe de aplicar. Referente a lo del codigo, he estado probandolo y no me sale nada bien ya que me sale error: " Parse error: parse error in c:\archivos de programa\easyphp1-8\www\milocalhost\index.php on line 310 " Asi que no se cual sea el problema. Gracias |
|
| Joeri | 23/12/05 |
| Buenas, tengo una duda acerca de este articulo. Puedo crear un archivo html y poner tal cual el codigo en donde corresponde o tengo que quitar comillas y esas cosas antes porque he intentado enviarlo y no llega a mi email. Tambien veo que no usas comillas ni nada parecido. Saludos. |
|
| Santiago | 21/1/06 |
| Se podría hacer lo mismo pero en lugar de enviar una página html quiero enviar un boletin php? | |
| Oscar Obando | 30/1/06 |
| Muy buenas tardes, Antes que nada quisiera agradecerles por tan completo sitio y excelentes tutoriales. Desde hace dias estoy trabajando en el envio de boletines en formato html con PHP, hasta el momento todo ha funcionado perfectamente, pero la situacion es que ademas de enviar los boletines con formato necesito que el contenido de estos sea dinamico, es decir que la informacion que ahi se envia sea extraida de una base de datos en MySql. Quisiera saber si existe alguna forma de hacerlo pues la idea es que los usuarios alimenten la BD y automaticamente se envien los boletines. Agradezco de antemno su colaboracion, espero puedan ayudarme con esto. |
|
| Raúl Avilés (Autor del artículo) | 26/4/06 |
| Agradezco de antemano todos los comentarios que he recibido para intentar mejorar el artículo. Voy a responder a la mayoría de cuestiones preguntadas (si me da tiempo xD): -Solución al campo 'PARA', para que no se filtre en el anti-spam: tal y como ha dicho uno de los lectores, se puede poner un campo para con el nombre de la lista a la que la gente se ha "suscrito" algo así como "To: boletin-novedades@mipagina.com" y en el Bcc la lista real de destinatarios. La direccion boletin-novedades puede existir y recoger copias de los boletines, por ejemplo. -A la pregunta de si se pueden personalizar lo emails: sí. La manera de hacerlo es definir el mensaje HTML como una variable a trozos. Entonces puedes ir extrayendo de la base de datos lo que quieres que aparezca, y luego se imprime esa variable en el lugar excato que quieras (intercalado en la posición, en el trozo que quieras del manesaje). Luego donde se definen los parámetros del mensaje, en el cuerpo pon la variable que define el mensaje(que está troceada) y ya está. -¿Se pueden enviar emails en php? No, me temo que no se puede, ya que los gestores de correo no pueden leer PHP. -¿Qué pasa con las comillas del del cuerpo del mensaje en HTML? Para que no de error, hay que poner una barra invertida: \ antes de cada comilla, véase: \" -Respecto a lo de tumbar el servidor y enviar uno por uno los mensajes: si se define un sistema mediante el que se envían uno por uno los mensajes, como proponían algunos lectores, lo que se está haciendo es ejecutar la función mail como un bucle a veces interminable, con lo que el tiempo de ejecución de la acción se alarga mucho y suele dar este error "Error en el tiempo de ejecución", que quiere decir que se ha sobrepasado el límite de tiempo de ejecución, además de los problemas de tumbar el servidor, como comentaba otro usuario. -Por último, tal y como indica otro lector, este sistema sirve para cantidades asequibles de usuarios (depende de cada servidor) pero para cantidades masivas puede resultar engorroso. Un usuario nos sugiere que para tales efectos quizás sea mejor utilizar un programa auxiliar como Advanced Mass Sender. Espero haberles servido de ayuda. Un saludo a todos, Atte. Raúl Avilés Email: raul.aviles@gmail.com |
|
| Juan Barradas | 09/5/06 |
| este es el mensaje que me da Warning: mail() [function.mail]: Failed to connect to mailserver at "mail.cantv.net" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\new\mail\enviar.php on line 37 yo soy una estacion y hay un servidor que provee el internet de antemano les agradesco si me pueden ayudar a resolver este inconveniente.... |
|
| ever escoto | 21/5/07 |
| Saludos. Amigos yo soy un novato en esto, aunque la ayuda de ustedes me ha servido bastante, ya hice todo lo del articulo. Ahora mi pregunta es como obtener el nombre y el email de la persona a quien se va a enviar el boletin y que se almacene en la base de datos creada. ¿como introducir los datos? | |
| rodrigo | 17/9/07 |
| Holas!! Estuve probando el código y no me funciona. Creo que es por dos razones, pero no estoy muy seguro, a ver si me ayudan: 'nombre_de_usuarior' en la línea dos está mal escrito y no coincide con el de abajo. También quisiera saber si distingue mayúsculas de minúsculas en esa misma parte. Y otra razón más es que no se si la bd distingue la ñ en 'contraseña'. |
|
| Cabochench | 23/2/08 |
| Buenas... He probado el código y va muy bien... pero... Para gestores de correo que leen en html, es ok. Pero para outlook, por ejemplo, me da un fallo tremendo; lo que me hace es imprimir directamente el código HTML, tratarlo como texto plano. Por lo que formatos de texto, imágenes, etc no salen. A ver si alguien me puede echar una mano y dcir como podría arreglarlo, gcs! |
|
| Isabella | 29/2/08 |
| Hola, su nota me ha servido muchisimo, para unas cosas que necesito hacer, pero como puedo hacer para que los correos de outlook se envien a una base de datos, ya busque muchisimo y no encuentro nada, solo ideas, MUCHAS GRACIAS | |
| Brian Vanegas | 21/3/08 |
| La verdad, a mi no me quiere funcionar ni haciendo el cambio que dicen anteriormente. | |
| carlos orozco | 23/10/08 |
| Recomiendo usar phpMailer asi de esa forma va el email authenticado, y es menos probable que llegue a la carpeta de spam, ahora si se envia, varios emails con los mismos contenidos seguidos a un mismo servidor ejempo xxxx@yahoo.com, es seguro que lo declara spam el servidor de destino, sin hablar que el servidor que envia le bloquee a uno la cuenta, recomiendo a la vez que si van a usar phpMailer o phpGmailer(solo para servidores gmail) los usen con puertos que no sean el 25. | |
| Ver el articulo y todos sus comentarios | |
| Añadir un comentario del artículo |
|
Comentarios no revisados de: |