Foros del Web » Programando para Internet » PHP »

Envio de Mail desde una BD

Estas en el tema de Envio de Mail desde una BD en el foro de PHP en Foros del Web. Hola a todos; espero que me hechen una manita en mi busqueda me he pasado buscando en la red un escript PHP que me permita ...
  #1 (permalink)  
Antiguo 30/04/2003, 16:19
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta Envio de Mail desde una BD

Hola a todos; espero que me hechen una manita en mi busqueda
me he pasado buscando en la red un escript PHP que me permita
enviar mail (html) a unos usuarios que tengo en mi base
de datos (4,000 aprox), pero no he encontrado con algunas de estas caracteristicas:
tengo los siquientes campos

[mailc] [nombresc] [distritoc] [tituloc]


Muchos saludos y gracias por su atencion:
  #2 (permalink)  
Antiguo 30/04/2003, 16:42
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Código PHP:
//Te conectas
$qr_mails=mysql_query("select * from tutablademails");
while (
$rs_mails=mysql_fetch_array($qr_mails)) {
  
$mensaje="Hola ".$rs_mails["tituloc"]." ".$rs_mails["nombresc"]."Te enviamos un saludo";
  if (
mail($rs_mails["mailc"],"Desde mi web",$mensaje)) {
    echo 
"Enviado exitosamente a ".$rs_mails["nombresc"]."<br>\n";
  } else {
    echo  
"No pudo enviarse a ".$rs_mails["nombresc"]."<br>\n";
  } 
Bueno, algo asi... Ahora te toca ponerte a probar y corregir...

Saludos!
__________________
Manoloweb
  #3 (permalink)  
Antiguo 30/04/2003, 16:44
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 15 años, 8 meses
Puntos: 0
Gracias Manolo por responder
hechare una mano a ver como anda
Saludos !!!
  #4 (permalink)  
Antiguo 30/04/2003, 16:51
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
OK, solo recuerda cambiar la parte de "//Te Conectas" por el correcto procedimiento de conexion a tu BD...

Tambien cambias "tutablademails" por el nombre real de la tabla donde los tienes almacenados.

De seguro te encontraras con problemas de que el script se corta despues de mandar cierto numero de correos, eso será debido al tiempo de ejecucion... revisa para ello la funcion set_time_limit()

Ademas puedes considerar hacerte un archivo de texto para guardar los "LOGS" de envios (los que se mandaron y los que fallaron)
__________________
Manoloweb
  #5 (permalink)  
Antiguo 30/04/2003, 17:10
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 15 años, 8 meses
Puntos: 0
Huy
ahi si me liaste Manolo...

primero peleo con lo que me diste y te aviso ok?

muchas gracias!!! y saludos
  #6 (permalink)  
Antiguo 30/04/2003, 19:27
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 15 años
Puntos: 0
donde dice:
//te conectas
esa parte es necesaria si no no puedes acceder a tu bd el codigo seria
Código PHP:
$link=mysql_connect("localhost","usuario","password");
mysql_select_db("tu_bd",$link); 
en usuario y password poner tu usuario y pass de tu tabla
__________________

la vida es bella cuando no es culera
  #7 (permalink)  
Antiguo 30/04/2003, 19:30
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 15 años
Puntos: 0
quedaria asi mas o menos
Código PHP:
set_time_limit(0);
$link=mysql_connect("localhost","usuario","password");
mysql_select_db("tu_bd",$link);
$qr_mails=mysql_query("select * from tutablademails");
while (
$rs_mails=mysql_fetch_array($qr_mails)) {
  
$mensaje="Hola ".$rs_mails["tituloc"]." ".$rs_mails["nombresc"]."Te enviamos un saludo";
  if (
mail($rs_mails["mailc"],"Desde mi web",$mensaje)) {
    echo 
"Enviado exitosamente a ".$rs_mails["nombresc"]."<br>\n";
  } else {
    echo  
"No pudo enviarse a ".$rs_mails["nombresc"]."<br>\n";
  } 
__________________

la vida es bella cuando no es culera
  #8 (permalink)  
Antiguo 30/04/2003, 19:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
OJO con el uso de set_time_limit() .. ademas de que no todos los servicios de Hosting dejan ajustar esa direcitava en tiempo de ejecución .. sería recomendable que le dieras algún tiempo (se expresa en segundos) .. Pero no "infinito" (que vendría a ser 0 como está) ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 30/04/2003, 20:07
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 15 años, 8 meses
Puntos: 0
creo que no me deje enteder

este el codigo:
Código PHP:
<?php 
set_time_limit
(0);
$link=mysql_connect("localhost","login","pass");
mysql_select_db("data_base",$link);
$qr_mails=mysql_query("select * from Contacto_H");
while (
$rs_mails=mysql_fetch_array($qr_mails)) {
  
$mensaje="Hola ".$rs_mails["tituloc"]." ".$rs_mails["nombresc"]."Te enviamos un saludo";
  if (
mail($rs_mails["mailc"],"Desde mi web",$mensaje)) {
    echo 
"Enviado exitosamente a ".$rs_mails["nombresc"]."<br>\n";
  } else {
    echo  
"No pudo enviarse a ".$rs_mails["nombresc"]."<br>\n";
  }
  }
?>
lo que deseo es:
que mediante un form envie en formato HTML/txt
y que llegue asi:

De : Nosotros <[email protected]>
Para : [nombresc]<[mailc]>
Asunto: Oficio: [tituloc]

Contenido
[aca lo enviado desde el form]




Última edición por adex; 30/04/2003 a las 21:04
  #10 (permalink)  
Antiguo 30/04/2003, 20:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Grácias tambien a Manoloweb por sus aportes xD ...

Yo solo avisé del uso de set_time_limit() que es algo delicado ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 30/04/2003, 21:08
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 15 años, 8 meses
Puntos: 0
muchas Gracias Cluster por tu sugerencia...



Saludos!!!
  #12 (permalink)  
Antiguo 30/04/2003, 22:06
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Si lees la documentacion de la funcion mail(), te daras cuenta que hasta un ejemplo viene sobre como mandar un mail en formato html.

Creo que el ejemplo previo, debe haberte ilustrado sobre los conceptos basicos, asi que ahora es tu turno de darte una vuelta por el manual.

Has la prueba, y si te salen nuevas dudas, aqui estoy.

Saludos!
__________________
Manoloweb
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 06:46.