Wykorzystuję phpmailer, aby wysłać mailing do użytkowników.

Kod wygląda tak:
  1. <?
  2.  
  3. łączenie z bazą
  4.  
  5. // formularz maila
  6. echo '<form action="rot.php" method="post">
  7. Tytuł wiadomości:<br />
  8. <input type="text" name="tytul" size="50" /><br /><br />
  9. Treść wiadomości:<br />
  10. <textarea name="wiadomosc" cols="80" rows="10"></textarea><br />
  11. <input type="submit" value="wyślij" />
  12. </form>';
  13.  
  14. // zbieranie danych z formularza
  15. $tytul = $_POST['tytul'];
  16. $wiadomosc = $_POST['wiadomosc'];
  17.  
  18. if (!empty($tytul) and !empty($wiadomosc))
  19. {
  20.  
  21. // skrypt wysyłający mail
  22. include_once('phpmailer/class.phpmailer.php');
  23. $mail = new PHPMailer();
  24. $mail->From = "adres@o2.pl";
  25. $mail->FromName = "mail";
  26. $mail->Host = "poczta.o2.pl";
  27. $mail->Mailer = "smtp";
  28. $mail->Username = "Adres";
  29. $mail->Password = "";
  30. $mail->Port = "465";
  31. $mail->SMTPSecure = "ssl";
  32. $mail->SMTPAuth = true;
  33.  
  34. $select = mysql_query("SELECT mail FROM `userzy`");
  35. while($dane = mysql_fetch_array($select)) {
  36. $mail->AddBCC($dane['email']);
  37. }
  38. $mail->AddAddress("adres@o2.pl");
  39. $mail->SetLanguage("pl", "");
  40. $mail->CharSet = "UTF-8";
  41. $mail->Subject = "$tytul";
  42. $mail->Body = "$wiadomosc";
  43. $mail->IsHTML(true);
  44.  
  45. if ($mail->Send())
  46. { echo '<br><br>E-mail został wysłany<br />
  47. Wróć do poprzedniej <a href="index.html">strony</a>'; }
  48. else
  49. { echo 'E-mail nie mógł zostać wysłany, przyczyna :'. $mail->ErrorInfo.'<br />
  50. Wróć do poprzedniej <a href="index.php">strony</a>'; }
  51. }


Jeśli wysyłam wiadomość do jednej osoby, idzie bez problemu. Jednak gdy ma pobrać maile z bazy i wysłać, wtedy dostaję komunikat, że 'następujące maile są nieprawidłowe'.
Początkowo sądziłem, że to może dlatego, iż tych maili jest ponad 2000. Jednak jeśli dodałem w zapytaniu LIMIT 50, to też miałem ten sam błąd - jedyna różnica była taka, że zamiast podać mi wiele niby błędnych maili, podał tylko dwa.

Maile, które podaje jako nieprawidłowo na pewno są dobre.

Zastanawiam się, czy można to jakoś uciszyć? Aby np. jeśli nie może wysłać gdzieś maila, to aby przechodził dalej.
A także - jak znaleźć mail, który sprawia tyle problemów, lub też co jest źle z samym skryptem.