Email Masivo
Publicado por Diego (25 intervenciones) el 18/12/2014 20:49:25
Buenas tardes!! Estoy implementando un codigo para envio de un correo a email's guardados en una base de datos. Son mas de 400 y puedo enviar 150 por hora.. en este momento estoy probando con 20 emails, el punto es que llega al 18 y se cuelga si pongo un sleep de 30 que es mas o menos lo que deberia enviar en una hora, si pongo menos llega a los 20 bien, nose porque pasa esto... alguna sugerencia, muestro el codigo:
Muchas gracias, disculpen la molestia
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
ignore_user_abort(1); // sigue ejecutando aunque el usuario halla cerrado la conexión
set_time_limit(0); // el script no tiene límite de tiempo
//Recibir todos los parámetros del formulario
require_once('class.phpmailer.php');
require_once('class.smtp.php');
//Recibir todos los parámetros del formulario
$asunto = $_POST['asunto'];
$texto=$_POST['texto'];
$conexion=mysqli_connect("localhost",bdd","","namebd")or die("Error al conectar con la base de datos");
$registros=mysqli_query($conexion,"select * from correo")or die(mysqli_error($conexion));
$ofertas = "<html>
<head>
<title>Ofertas</title>
</head><p>".
$ofertas .= str_replace("\n","<br/>",$texto).
"</p>
<table border='1' cellpadding='0' cellspacing='0' width='500' bgcolor='#F6F6F6' bordercolor='#FFFFFF'>
<tr>
<td width='50' style='font-weight: bold'>Descripcion</td>
<td width='50' style='font-weight: bold'>Imagen</td>
<td width='50' style='font-weight: bold'>Precio</td>
</tr> ";
while($reg = mysqli_fetch_array($registros)) {
$ruta = 'http://mipagina.com.ar/imageneslista/'.$reg['imagen'];
$ofertas .= "
<body>
<tr>
<td><br>".$reg['descripcion']."<br><br></td>
<td><img src=".$ruta." width='300px' height='300px'></td>
<td>$".$reg['precio']."</td>
</tr>
</body>
</html>";
}
$registrosemail=mysqli_query($conexion,"select email from prueba ORDER BY id ASC")or die(mysqli_error($conexion));
while($datosemail=mysqli_fetch_array($registrosemail)){
$mail = new PHPMailer();
$mail->IsSMTP;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Username = "miemail@miemail.com"; // Correo completo a utilizar
$mail->Password = "pass"; // Contraseña
$mail->Port = 465; // Puerto a utilizar"
$mail->From = "miemail@miemail.com";
$mail->FromName = "nombre";
$mail->CharSet = "UTF-8";
$mail->AddAddress($datosemail['email']); // Esta es la dirección a donde enviamos
$mail->IsHTML(true); // El correo se envía como HTML
$mail->Subject = $asunto; // Este es el titulo del email.
$mail->Body = $ofertas; // Mensaje a enviar
$mail->Send(); // Envía el correo.
sleep(20);
}
$registros=mysqli_query($conexion,"delete from correo")or die(mysqli_error($conexion));
mysqli_close($conexion);
?>
Muchas gracias, disculpen la molestia
Valora esta pregunta
0