Newsletter wird nicht an alle Einträge vreschickt
Jens
- datenbank
Hallo Forum,
ich habe ein Problem mit meinem selbst erstellten Newsletter, und zwar soll der Newseintrag automatisch an alle verschickt werden, deren Emailadresse in einer Datenbank gespeichert sind. Jedoch erhalten nicht alle den Newsletter. Wer kann mir helfen?
Hier der Quellcode:
<?php
include('var2.inc.php');
if (isset($HTTP_POST_VARS["Abschicken"])) {
$datum = date("Y-m-d H:i:s",time());
$conn = mysql_connect($dbserver,$dbuser,$dbpass);
mysql_select_db($dbname,$conn);
$query = "SELECT email FROM abbo ORDER BY id ";
$result = mysql_query($query,$conn);
if (!$result)
{
echo "Keine Verbindung zur Datenbank";
}
$gesamt = mysql_num_rows($result);
if ($gesamt == 0)
{
echo "Keine Beiträge vorhanden !";
}
while ($zeileholen = mysql_fetch_array($result,MYSQL_ASSOC)){
$temp = $zeileholen["email"];
mail ("$temp","Test News","Neuigkeit: \n\n
$titel\n
$inhalt\n\n
eingetragen am: $datum
","FROM: newsletter@test.de") or die ("Konnte Newsletter nicht versenden");
};
mysql_close($conn);
$conn = mysql_connect($dbserver,$dbuser,$dbpass);
mysql_select_db($dbname,$conn);
$query = "INSERT INTO news_intern VALUES ('".addslashes($titel)."', '".addslashes($inhalt)."', '".$datum."','')";
$result = mysql_query($query,$conn);
if (!$result)
{
die;
echo"keine Verbindung zur Datenbank!";
}
mysql_close($conn);
echo"<meta http-equiv='refresh' content='0; URL=news.php'>";
exit;
}
?>
Hi,
es ist so das PHP Scripts eine Maximaleausführungszeit haben. Wenn sie dann nicht abgearbeitet sind, werden sie einfach beendet.
Du kannst versuchen diese heraufzusetzen:
http://ch.php.net/manual/de/function.set-time-limit.php
Aber wenn du mehr als 1000 Emails hast, wirst Du auch damit nicht Glücklich.
Deswegen empfiehlt es sich die Mails direkt über SMTP zu versenden.
http://phpmailer.sourceforge.net/
Geht schneller und was noch viel wichtiger ist, die Mails werden alle verschickt ;)