• User

    Invio Newsletter Tramite PHP

    Salve a tutti!

    Sto valutando le modalità per gestire un programma con PHP per l'invio di newsletter.
    Premesso che le mail non possono essere inviate in CCN (per poter personalizzare i contenuti di ogni mail), ho il seguente problema:

    Script (di concetto...)

    for ($i=0; $i<1000; $i++) { mail()... }

    • L'invio delle newsletter è relativamente veloce e avviene correttamente
    • Durante l'invio il sito web resta fermo pechè il server punta le risorse sull'invio delle mail.
      Da qui alla domanda
      Come faccio per inviare tante mail (1000 come anche 100.000) senza avere gli altri servizi bloccati?

    Soluzioni provate:

    1. Non funziona lo sleep/usleep
    2. Ho provato anche il framework zend, stesso problema

    Documentazione
    www laboraweb.it/debian-top.jpg (comando TOP di linux durante l'invio)


  • ModSenior

    Ciao Gurybrush,

    Dividi l'invio a pezzi, fai inviare le prime 100 email, poi reindirizzi dopo qualche secondo a pagina.php?page=2 e fai partire le altre 100, e cosi via fino alla fine.


  • ModSenior

    Salve e fare in modo di creare un ciclo di invio mail, all'interno del quale, viene richiamato un wait magari di jquery?


  • ModSenior

    Non credo di aver capito cosa intendi.
    Ovviamente un wait di jquery non puoi usarlo perchè lato server non può fare niente, se intendi un wait per richiamarti poi di seguito pagina.php?page=2 è indifferente richiamarle con ajax o semplici redirect.


  • ModSenior

    Intendevo seguire una procedura che schematizzata si riassume come segue.

    • L'amministratore entra sulla pagina di invio mail.
    • Clicca sul pulsante di invio mail che richiama la procedura, o funzione di invio mail.
    • All'interno di questa funzione di invio, saranno presenti tutti i risultati della query, quindi magari 1000 mail da inviare.
    • Comporre un ciclo che mandi 10 mail è attenda un determinato lasso di tempo prima di continuare l'invio.
    • Al termine del ciclo viene mostrato il solito messaggio di azione avvenuta.

    Mi sembrava che un mio amico avesse risolto la funzionalità del lasso di tempo anche con Javascript, per questo motivo avevo pensato si potesse fare.


  • ModSenior

    Quello che dici tu, è la stessa cosa che ho detto io all'inizio, solo che invece di fare il redirect le pagine le richiami tramite ajax, ma il funzionamento rimane sempre quello.


  • User

    Non credo che sia solo un discorso di redirect.

    Le mail da inviare possono essere anche 100.000 per cui l'obiettivo è trovare un modo per limitare l'utilizzo delle risorse.

    Il fatto che il body debba essere customizzato per ogni utenti, inoltre, evita l'uzilizzo di ccn o di utilizzo di una singola apertura dell'smtp...


  • ModSenior

    L'unico modo è quello, per non far fare tutto in un colpo.