Cita:
Iniciado por scorpiollanos
Hola NRLABS:
Mira soy nuevo en el foro ya q me registre buscando una solucion q ustedes ya dieron con ella, necesito hacer lo mismo q tu, tengo unos 1500 correos en la bd para enviar de una vez, pero mira estuve leyendo las respuestas y analizando el script q esta rebueno, pero me quedo una duda..???, donde estas recuperando los datos de la bd para enviarlos, me refiero al nombre del email, no veo ningun SELECT FORM, o algo parecido..????.
function enorme($qcl,$rem)
a quien llama o q parametros les pasas, bueno mira estoy recien en esto de lo emails y vaya q me a costado a ver si me aclaras un poco mas la cosa.., graciasss
Eso es poarte de la diea de este foro, no entregar soluciones hechas.
Los parametros que envio en la funcion son, justamente, los datos de la sql
Te envio el codigo completo, que es especifico.
Código PHP:
<?
require '../func/func.php';
conecta_db();
while (list ($clave, $val) = each ($_REQUEST))
{
$$clave = $val;
}
$sem = "INSERT INTO t_emails (id_email,cuerpo,fecha,descripcion,asunto) ";
$sem.= "VALUES ('','".htmlentities(str_replace("\n", "",str_replace("\r", "", $texto)))."','".fecha($fecha)."','$descripcion','$asunto') ";
$qem = mysql_query($sem);
$sli = "SELECT LAST_INSERT_ID()";
$qli = mysql_query($sli);
$rli = mysql_fetch_row($qli);
$id_email=$rli[0];
for ($i = 0; $i < sizeof($destinatarios); $i++) {
$sde = "INSERT INTO t_destinatarios_email (id_email,rut) ";
$sde.= "VALUES ($id_email,'$destinatarios[$i]')";
$qde = mysql_query($sde);
}
$scl = "SELECT t_clientes.rut as rut, t_clientes.nombre as nombre, t_clientes.apellido as apellido, ";
$scl.= "t_clientes.email_1 as email_1, t_clientes.domicilio as direccion ";
$scl.= "FROM t_destinatarios_email, t_clientes WHERE t_destinatarios_email.id_email=$id_email AND t_clientes.rut=t_destinatarios_email.rut ";
$qcl = mysql_query($scl);
$sem = "SELECT * FROM t_emails WHERE id_email = $id_email";
$qem = mysql_query($sem);
$rem = mysql_fetch_array($qem);
set_time_limit(84000);
// para navegadores q requieren una cantidad de bytes antes de mostar un contenido.
for($i=0;$i<200;$i++)
{
echo ".";
}
echo "<br>Los emails estan siendo enviados, puede cerrar esta ventana";
flush();
function enorme($qcl,$rem)
{
require_once($_SERVER['DOCUMENT_ROOT']."/admin/emails/class.phpmailer.php");
while ($rcl = mysql_fetch_array($qcl)) {
$asunto=$rem['asunto'];
$asunto=str_replace("[!rut!]", $rcl['rut'] , $asunto);
$asunto=str_replace("[!nombre!]", $rcl['nombre'] , $asunto);
$asunto=str_replace("[!apellido!]", $rcl['apellido'] , $asunto);
$asunto=str_replace("[!email!]", $rcl['email_1'] , $asunto);
$asunto=str_replace("[!direccion!]", $rcl['direccion'] , $asunto);
$asunto=str_replace("[!fecha!]", date("d-m-Y"), $asunto);
$texto=$rem['cuerpo'];
$texto=str_replace("[!rut!]", $rcl['rut'] , $texto);
$texto=str_replace("[!nombre!]", $rcl['nombre'] , $texto);
$texto=str_replace("[!apellido!]", $rcl['apellido'] , $texto);
$texto=str_replace("[!email!]", $rcl['email_1'] , $texto);
$texto=str_replace("[!direccion!]", $rcl['direccion'] , $texto);
$texto=str_replace("[!fecha!]", date("d-m-Y"), $texto);
//$cabeceras = "MIME-Version: 1.0\r\n";
//$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail = new PHPMailer();
$mail->Mailer = "smtp";
$mail->Host = "mail..com";
$mail->SMTPAuth = true;
$mail->Username = "";
$mail->Password = "";
$mail->From = "";
$mail->FromName = "";
$mail->ContentType= "text/html";
$mail->Timeout=10;
$mail->AddAddress($rcl['email_1']);
$mail->Subject = $asunto;
$mail->Body = html_entity_decode($texto);
//$mail->Body = "<b>ahahaha</b>";
$exito = $mail->Send();
$intentos=1;
while ((!$exito) && ($intentos < 5)) { sleep(5); $exito = $mail->Send(); $intentos=$intentos+1; }
if(!$exito){ $msg_E= "Problemas enviando correo electr�ico a ".$valor."<br/>".$mail->ErrorInfo;
mail("ics.cl","Error envio lista correo",$msg_E); }
// flush();
sleep(2);// dormir dos segundos entre conexion al smtp
}
}
register_shutdown_function(enorme,$qcl,$rem);
?>