Envios Masivos de Email
Publicado por Diego (25 intervenciones) el 18/11/2014 21:00:40
Buenas tardes! Escribo porque quisiera consultar por envios masivos de email.
El tema es asi, necesito enviar correos a clientes alojados en un base de datos, en este momento estoy trabajando localmente y pude enviar a travez de PHPmailer los mensajes y llegaron correctamente. Es mas entre mensaje y mensaje coloque un sleep y hay un retraso entre los mensaje motivo para que me deje enviar la cantidad de email que podria en una hora que son 200 aproximadamente, que es lo que me da mi servicio de hosting.
Ahora bien. Lo que he notado es que cuando envio el correo se queda colgado en la pagina. Quisiera saber si hay alguna manera de que eso quede trabajando internamente y pueda enviar todos los correos.
Intente con register_shutdown_function(); pero no pasa nada, algo asi:
Que estaria haciendo mal
El envio se realiza manualmente cuando la persona quiera mandarlo
Muchas gracias. Saludos
El tema es asi, necesito enviar correos a clientes alojados en un base de datos, en este momento estoy trabajando localmente y pude enviar a travez de PHPmailer los mensajes y llegaron correctamente. Es mas entre mensaje y mensaje coloque un sleep y hay un retraso entre los mensaje motivo para que me deje enviar la cantidad de email que podria en una hora que son 200 aproximadamente, que es lo que me da mi servicio de hosting.
Ahora bien. Lo que he notado es que cuando envio el correo se queda colgado en la pagina. Quisiera saber si hay alguna manera de que eso quede trabajando internamente y pueda enviar todos los correos.
Intente con register_shutdown_function(); pero no pasa nada, algo asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
require_once('class.phpmailer.php');
require_once('class.smtp.php');
//cuerpo del mensaje
.
.
.
.
function enviar(){
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Timeout=10;
//$cabeceras = "MIME-Version: 1.0\r\n";
//$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";
//Nuestra cuenta
$mail->Username ='micorreo';
$mail->Password = 'pass; //Su password
$mail->IsHTML(true);
$conexion=mysqli_connect("localhost","root","","bd")or die("Error en la conexion");
$registros=mysqli_query($conexion,"select email from tabla")or die(mysqli_error($conexion));
while($reg=mysqli_fetch_array($registros)){
$mail->AddAddress($reg['email']);
$mail->Subject = $asunto;
$mail->Body = $mensaje;
if($mail->Send())
$mail->clearAddresses();
$mail->clearAttachments();
sleep(100);
//le puse 100 para exagerar el retraso y corroborar que llega
}
}
echo "<br>Los email estan siendo enviados puede cerrar la ventana";
register_shutdown_functionshutdown_function('enviar');
?>
Que estaria haciendo mal
El envio se realiza manualmente cuando la persona quiera mandarlo
Muchas gracias. Saludos
Valora esta pregunta


0