[PHP] Korespondencja seryjna

Potrzebujesz pomocy z C, C++, perl, python, itp.
ndjaro
Posty: 40
Rejestracja: 13 października 2013, 15:16
Lokalizacja: Nowa Dęba

[PHP] Korespondencja seryjna

Post autor: ndjaro » 25 września 2016, 13:18

Witam, zastanawiam się jak wielkie serwisy co mają miliony kont użytkowników rozsyłają mejle. Napisałem taki prosty skrypt. Jednak jest on wstanie rozesłać mejle do 50-100 użytkowników później się zacina. Mam bazę ponad 3tyś. kont. Jak mogę rozwiązać problem?

Kod: Zaznacz cały

<?php

require('haslo_bazy.php');

$naglowki .= "From: NADAWCA <adres@nadawcy.pl>".PHP_EOL;
$naglowki .= "MIME-Version: 1.0".PHP_EOL;
$naglowki .= "Content-type: text/html; charset=iso-8859-2".PHP_EOL; 

$pokaz_email_do_wyslania = mysql_query("SELECT * FROM uzytkownicy"); 
while($pe = mysql_fetch_assoc($pokaz_email_do_wyslania)) {

$wiadomosc = "Wiadomość do wszystkich";

if(mail("".$pe['poczta']."", 'temat wiadomośći', $wiadomosc, $naglowki)){}

}
    
if($wyslij_poczte) echo "Poczta została wysłana.";

?>

Awatar użytkownika
lizard
Beginner
Posty: 252
Rejestracja: 08 lutego 2016, 18:47

Re: [PHP] Korespondencja seryjna

Post autor: lizard » 25 września 2016, 19:05

Co rozumiesz pod pojęciem "zacina"? Może następuje timeout dla wykonania skryptu albo pamięć się kończy?

Skoro potrzebujesz tylko jednej kolumny z tabeli, to ogranicz ilość pobieranych danych z bazy przez zmianę na "SELECT poczta FROM uzytkownicy". Nie wiem, czy wewnętrznie w PHP tablice asocjacyjne różnią się od tablic indeksowanych, ale na chłopski rozum tworzenie i obsługa tych drugich powinno być szybsze.

ODPOWIEDZ