Problema timeout - invio mail

Daniele_Carrara

Utente Attivo
20 Apr 2018
22
0
1
28
Ciao a Tutti,

utilizzo un sistema homemade per l'invio di newsletter ai nostri clienti (il tutto gestito come da norme, con possibilità di disiscrizione automatica, consenso esplicito, etc.), il problema è che il sistema non riesce a completare l'invio a tutta la lista contatti (circa 7k contatti) per via del timeout del server.

ho già provato ad utilizzare set_time_limit, settato anche con limite infinito: set_time_limit(0) ma il problema continua a ripresentarsi.

per l'invio utilizzo la Email Class di Codeigniter

Qualcuno sa come potrei risolvere il problema?

Grazie mille in anticipo
 
per l'invio utilizzo la Email Class di Codeigniter

Qualcuno sa come potrei risolvere il problema?
7K contatti non sono tanti!!!!
Dovresti utilizzare le code e/o un batch da cron.
Mi viene da pensare che tu lo stia facendo in linea, il che è ovviamente errato dal punto di vista didattico e sistemistico.

Una delle modifiche più semplici che potresti effettuare è un CronController con un CronModel, utilizzando quest'ultimo per l'invio delle mail in base alle tue necessità.
 
  • Like
Reactions: Daniele_Carrara
verifica anche la funzione intrinseca alla classe,

BCC Batch Mode, enabling large email lists to be broken into small BCC batches

forse ti costa meno modifiche
 
Il metodo suggerito sopra ha un solo svantaggio (ed ecco perché si usano le code) l'header rimane identico per tutti i destinatari.... Facile andare in spam...

Di conseguenza un test A/B non è possibile effettuarlo...

Un nota: BCC Batch Mode per CodeIgniter si traduce con:
PHP:
$this->email->bcc(array_columns(UsersModel::index(),'email'));
E comunque sia con una lista massima di 100 utenti, il che vuol dire che comunque è preferibile una coda!
 
Ultima modifica:

Discussioni simili