Hallo Leute,
ich habe ein Problem mit einem Time-Out.
Ich verwende das Newsletter-Script von php-abc.
Dort gibt es eine Erinnerungsfunktion, mit der man die User daran erinnert, die Bestätigungsemail für den Newsletter anzuklicken, um endgültig aufgenommen zu werden.
Nun haben sich in den letzten Monaten da mehr als 2000 Adressen angesammelt, die erinnert werden müssten. Allerdings schafft es das Script nicht, die E-Mails zu verschicken, sondern bricht mit einem Time-Out ab. Leider weiss ich auch nicht, wer nun schon eine Erinnerung bekommen hat und wer nicht.
Was kann ich tun?
Kann man hier in dem Code eine Möglichkeit einsetzen, immer nur 50 Mails zu verschicken, kurz zu warten und dann nochmal 50 usw bis alle Erinnerungen raus sind?
-----------hier das Script-----------------
<?php
# ---------------------------------------------------
# Copyright (c) php-abc.de Development Team
# All rights reserved
# ---------------------------------------------------
# See license.txt for further copyright information
# and readme.txt for version/installation information
# ---------------------------------------------------
if($HTTP_SESSION_VARS[loggedin]) {
include($other."/mysql.php");
$days=0;
switch(substr($pudacc,-1)) {
case "w":
$days=(int)substr($pudacc,0,-1)*7;
break;
case "m":
$days=(int)substr($pudacc,0,-1)*30;
break;
}
$res=mysql_query("SELECT * FROM ".$cfg[dbpre]."user WHERE TO_DAYS(NOW()) - TO_DAYS(date) >= ".$days." AND acc='n'") or error(mysql_error());
while($row=mysql_fetch_array($res,MYSQL_ASSOC)) {
$endreglink=$cfg[scriptUri]."/newsletter.php?action=endreg&email=".$row[email]."&id=".$row[acceptid];
$filea=str_replace("<!endreglink!>",$endreglink,stripslashes($content));
mail($row[email],stripslashes($betreff),stripslashes($filea),"From: $cfg[fromMail]\r\nReturn-Path: $cfg[fromMail]");
}
mysql_close($conn);
?>
<b>:: Benutzer-Erinnerung</b><br><br><br>
Erfolgreich beendet.
<?
} else {
echo "Access Denied - Zutritt verboten!!!";
}
?>
----------------Ende des Scriptes ----------------------
Gruß
Jörn
ich habe ein Problem mit einem Time-Out.
Ich verwende das Newsletter-Script von php-abc.
Dort gibt es eine Erinnerungsfunktion, mit der man die User daran erinnert, die Bestätigungsemail für den Newsletter anzuklicken, um endgültig aufgenommen zu werden.
Nun haben sich in den letzten Monaten da mehr als 2000 Adressen angesammelt, die erinnert werden müssten. Allerdings schafft es das Script nicht, die E-Mails zu verschicken, sondern bricht mit einem Time-Out ab. Leider weiss ich auch nicht, wer nun schon eine Erinnerung bekommen hat und wer nicht.
Was kann ich tun?
Kann man hier in dem Code eine Möglichkeit einsetzen, immer nur 50 Mails zu verschicken, kurz zu warten und dann nochmal 50 usw bis alle Erinnerungen raus sind?
-----------hier das Script-----------------
<?php
# ---------------------------------------------------
# Copyright (c) php-abc.de Development Team
# All rights reserved
# ---------------------------------------------------
# See license.txt for further copyright information
# and readme.txt for version/installation information
# ---------------------------------------------------
if($HTTP_SESSION_VARS[loggedin]) {
include($other."/mysql.php");
$days=0;
switch(substr($pudacc,-1)) {
case "w":
$days=(int)substr($pudacc,0,-1)*7;
break;
case "m":
$days=(int)substr($pudacc,0,-1)*30;
break;
}
$res=mysql_query("SELECT * FROM ".$cfg[dbpre]."user WHERE TO_DAYS(NOW()) - TO_DAYS(date) >= ".$days." AND acc='n'") or error(mysql_error());
while($row=mysql_fetch_array($res,MYSQL_ASSOC)) {
$endreglink=$cfg[scriptUri]."/newsletter.php?action=endreg&email=".$row[email]."&id=".$row[acceptid];
$filea=str_replace("<!endreglink!>",$endreglink,stripslashes($content));
mail($row[email],stripslashes($betreff),stripslashes($filea),"From: $cfg[fromMail]\r\nReturn-Path: $cfg[fromMail]");
}
mysql_close($conn);
?>
<b>:: Benutzer-Erinnerung</b><br><br><br>
Erfolgreich beendet.
<?
} else {
echo "Access Denied - Zutritt verboten!!!";
}
?>
----------------Ende des Scriptes ----------------------
Gruß
Jörn
Kommentar