Foros del Web » Programando para Internet » PHP »

newsletter masivo pero no va siempre...

Estas en el tema de newsletter masivo pero no va siempre... en el foro de PHP en Foros del Web. Bueno tengo un problema con el sistema de newsletters de phpnuke lo he modificado para que envie newsletters en formato html y con un respectivo ...
  #1 (permalink)  
Antiguo 01/08/2004, 22:06
Avatar de frogx3  
Fecha de Ingreso: abril-2003
Ubicación: Merida, Yucatan
Mensajes: 79
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta newsletter masivo pero no va siempre...

Bueno tengo un problema con el sistema de newsletters de phpnuke lo he modificado para que envie newsletters en formato html y con un respectivo template correspondiente a mi sitio lo que hice es algo que no afecta en nada al funcionamiento de script pero no se que pase...en mi sitio tengo poco mas de 600 usuarios registrados para resivir newsletters es un numero en realidad chico...pero me da este fallo cuando le doy enviar si es muy largo el texto...no lo envia lo he tenido que cortar en 2 para que funcione y esto pues es algo que no creo se vea muy bien....enviar el mismo dia dos mensajes del mismo tema... prodrian considerar como SPAM... pero bueno e estado checando y al parecer seria buena opcion usar el set_time_limit() para aumentar el tiempo de ejecucion del script...pero mi duda es donde usoooooooooooo esto...al final del script dentro del bucle while? donde
o sera algun otro problema....?
aqui les dejo el codigo del script:
Código PHP:
function massmail_send($title$content) {
    global 
$user_prefix$sitename$db$nukeurl$adminmail;
    
$send_html_messages "yes";
    
$from $adminmail;
    
$subject "[$sitename]: $title";

    
$content stripslashes($content);
....
    
$result $db->sql_query("SELECT user_email from " $user_prefix "_users where user_id != '1'");
    while (
$row $db->sql_fetchrow($result)) {
    
$user_email $row['user_email'];
        
$xheaders "From: " $sitename "\n";
        
$xheaders .= "X-Sender: <" $adminmail ">\n";
        
$xheaders .= "X-Mailer: PHP\n"// mailer
        
$xheaders .= "X-Priority: 3\n"// Urgent message!
        
if ($send_html_messages == "yes") {
                
$xheaders .= "Content-Type: text/html; charset=iso-8859-1\n"// Mime type
        
}
        
mail($user_email$subject$content$xheaders);
    }
    
Header("Location: admin.php?op=massmail_sent");

Bueno me despido y muchas gracias....

Última edición por frogx3; 01/08/2004 a las 22:07
  #2 (permalink)  
Antiguo 02/08/2004, 08:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
set_time_limit() debes usarlo en el script que haga efectivo tu e-mail y fuera de todo bucle ..

Con esa directiva (se suele indicar al principio del scirpt en sí) indicas a PHP que para la ejecución de ese script en concreto se le va a otorgar más tiempo de ejecución, por eso es una directiva que se "indica" una vez (al principio) y tiene validez hasta que termine la ejecución del mismo script (no para otros .. en tal caso cada uno tendría que hacer su ajuste individual o si tienes acceso a php.ini hacerlo ahí para que afecte a todo escript que ejecute PHP en ese servidor).

Un saludo,
  #3 (permalink)  
Antiguo 02/08/2004, 11:39
Avatar de frogx3  
Fecha de Ingreso: abril-2003
Ubicación: Merida, Yucatan
Mensajes: 79
Antigüedad: 14 años, 8 meses
Puntos: 0
thanks man... tu has sido mi salvador en varias ocasiones gracias
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 14:12.