Bunun için şöyle bir örnek var
PHP- Kodu:
if ($sendMail()) echo "mail sent";
function sendMail() {
$subject = "";
$message = "";
$toAddr = "";
$sql = "SELECT DISTINCT email FROM members";
$result = mysql_query($sql);
while ($row = mysql_fetch_row($result)) {
$toAddr .= "$row[0];";
}
if (mail($toAddr,$subject,$message)) return true;
else return false;
}
Bunu değiştirebilirsin, 50.000 maili birden yaparsan her türlü yavaş olması muhtemel.
Şöyle bişey yaptım, hata yoktur umarım bi incele istersen:
PHP- Kodu:
<?
$basla = $_GET['basla'];
$kayit = 1000;
$toplam = 50000;
if ($sendMail()) echo "$basla dan itibaren $kayit adet mail gönderildi.<br />";
function sendMail() {
$subject = "";
$message = "";
$toAddr = "";
$sql = "SELECT DISTINCT email FROM members LIMIT $basla , $kayit";
$result = mysql_query($sql);
while ($row = mysql_fetch_row($result)) {
$toAddr .= "$row[0];";
}
if (mail($toAddr,$subject,$message)) return true;
else return false;
}
$i = 0; //$i = $basla + $kayit; dersen, kullandığın linki bir daha göstermemiş olur.
do{
echo "<a href=\"mail.php?basla=$i\">$i den itibaren</a><br />";
$i += $kayit;
}while($i < $toplam);
?>
1000 er adet gönderiyor her seferinde, en alta da linkleri listeliyor. Db yorulmasın dersen mantıklı olabilir.
Hatta tek tek bunlara mı tıklayacağım diyorsan, üretilen adresi javascript le belirli bir süre sonrasında redirect de yapabilirsin istersen. sana kalmış. kolay gelsin.