Hmm, z takim emailowaniem to problemy wynikaja z kilka rzeczy:
1. czas wykonania skryptu
2. ustawienia serwera - ilość emaili wyslanych w ciągu 1 godziny z danego konta
Stosujac ten skrypt wysylasz emaile w petli - im wiecej emaili tym dluzej trwa wysylanie. Jesli przegladarka nie dostanie odpowiedzi w ciagu 30 sekund (nie dam glowy...) to wywali blad...
Ustawienia serwera - to juz trzeba sie dowiadywac - na kontach komercyjnych czesto mozna takie informacje znalezc w regulaminie lub informacjach technicznych.
Zwroc uwage na jeszcze jeden fakt - przepisy antyspamowe. Wg prawa mozesz wysylac emaile TYLKO do osob, ktore same z wlasnej woli udostepnily Ci swoj email - na przyklad przez zapisanie sie do newslettera na stronie...
Stworzylem kiedys skrypt wysylajacy emaile - baza ponad 4000 emaili - idea byla taka, zeby podzielic taka wysylke na paczki po 50 emaili. Utrudnieniem jest to, ze kazda paczke trzeba wysylac recznie, no ale dziala...
<?php
require("../class.phpmailer.php");
//zakres emaili
if ($_POST['paczka']==1) {
$zakres="0, 50";
}
else {
$p=$_POST['paczka']*50+1;
$k=50;
$zakres=$p.", ".$k;
}
//pobranie z bazy danych emaili
$emails=db_query("SELECT * FROM `tabela_emaili` ORDER BY email LIMIT ".$zakres."");
//wysylka do grupy
$mail = new PHPMailer();
$mail->CharSet = "iso-8859-2";
$mail->From = 'nadawca@domena.pl';
$mail->FromName = 'Nadawca Imie Nazwisko';
$mail->Mailer = "mail";
$mail->Subject = $_POST['temat'];
while ( $email=db_fetch_array($emails) ) {
$body=' tu tresc emaila... ';
$mail->Body = $body;
$mail->AltBody = $body;
$mail->AddAddress($email['email']);
$mail->Send();
$mail->ClearAddresses();
}
$_SESSION['paczka']=$_POST['paczka'];
header("Location: grupy.php"); ?>
Pominalem tu oczywiscie zbedne fragmenty - mam nadzieje ze to co jest daje jakis obraz koncepcji...
Pozdrawiam!
Birkoff