tengo un pequeño problema con el sistema de emailing que estoy utilizando. lo que hago es adjuntar un html y enviarlo a todos los registrados en mi web.
hasta ahora no ha habido ningun problema, pero ayer me avisaron lo del hosting diciendome que los 2000 emails que mando se quedan como sin cerrar, es decir, los 2000 emails como pendientes, aunque llegan a su destino. os lo comento pq imagino que algo en mi envio estará incorrecto. os dejo el codigo:
Código:
tengo un select donde selecciono el html que quiero enviar. y en pantalla me va poniendo tantas veces envior realizado como personas tengo. y como vereis, guardo los registros en un txt.<? $ficheromailscorrectos = fopen("ofertas.txt","w+"); set_time_limit(0); $headers = "MIME-Version: 1.0\r\n"; $headers = "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From:[email protected]\r\n"; $tema=$HTTP_POST_VARS ["tema"]; function mostrar_html($tema, $variables) { $cod = implode("", @file($tema)); ob_start(); extract($variables); eval('?>'.$cod.'<?'); $temp=ob_get_contents(); ob_end_clean(); return $temp; } $asunto="Boletin semanal"; $conexion = mysql_connect ("localhost","user","12345"); mysql_select_db("bd_com",$conexion); $result=mysql_query("SELECT * FROM ....") or die (mysql_error()); while ($query=mysql_fetch_array($result)){ $html_personalizado= mostrar_html($tema, $query); $emailaenviar=$query['login']; $idc=$query['id']; $nombre=$query['nombre']; $apellidos=$query['apellidos']; $login=$query['login']; $password=$query['password']; $mailenviar= mail($emailaenviar,$asunto, $html_personalizado, $headers); if ($mailenviar){ fputs($ficheromailscorrectos,$id.",".$nombre." ".$apellidos.",".$login."\r\n"); echo $idenviar."El envío se ha realizado correctamente\r\n"; } sleep(1); }//fin while fclose($ficheromailscorrectos); ?>
espero vuestras sugerencias, ya que seguro que habrán muchas cosas mal o a mejorar.
saludos,
ferranweb
ninguna sugerencia?