|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
[PHP] Errore nella funzione mail
Ciao a tutti.
Ho creato una newsletter in PHP che mi permette di mandare email prelevate da un database MySQL. Le mail sono tante, diverse migliaia. Per inviare l'email uso il seguente codice (tenendo conto del fatto che prima mi sono collegato al database): Codice PHP:
Codice:
Maximum execution time of 120 seconds exceeded |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Aug 2008
Messaggi: 25
|
Lo script va in timeout.
Io avrei gestito il problema in modo diverso: potresti costruire un array di indirizzi e-mail al quale aggiungere, per ogni record iterato, il valore del campo mail. Dopodichè implodendo l'array formato usando la virgola come separatore passeresti il risultato al terzo parametro della funzione mail() come valore dell'header BCC o CC. In questo modo invieresti tramite CCN o CC il messaggio a più indirizzi effettuando un'unica chiamata a mail() ed evitando il timeout. Se non puoi sfruttare questa idea puoi invece gestire il tempo limite d'esecuzione attraverso la funzione set_time_limit(), sempre che il safe-mode sia off e sia abilitata la detta funzione. Se sei abilitato a gestire la configurazione di php puoi invece modificare direttamente il valore della direttiva max_execution_time nel file php.ini. Altra soluzione è inviare un tot di e-mail per volta, magari usando cron (o un suo "emulatore") per suddividere il lavoro. Ciao! Matteo Micanti. Ultima modifica di matteo micanti : 07-03-2009 alle 00:39. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:53.



















