Visualizzazione risultati 1 fino 7 di 7

Discussione: maillist PHP

  1. #1
    Guest

    Predefinito [PHP] maillist. Quante e-mail al secondo?

    Ho già letto su altre discussioni cose inerenti l'invio di mail con codice php. Ma non ho trovato nulla riguardante il mio caso.
    Nel sito http://corosangiacomo.altervista.org, ho creato la mia pagina maillist.php (non ho sfruttato lo script di altervista). Quando un utente si iscrive gli viene correttamente inviata una mail per confermare l'iscrizione (ciò per evitare spam). E fin qui tutto ok. Nella stessa pagina è presente anche il link per l'amministratore che può gestire l'invio, la cancellazione ecc... della mailinglist.
    Quando invece invio un messaggio di newsletter a tutti gli iscritti (salvati su un file di testo) con

    if (mail($email, $subject, $message, $headers)) $sucess_count++;
    else $fail_count++;)

    la quasi totalità degl invii fallisce (lo vedo appunto dalle due variabili $sucess_count e $fail_count)

    In genere hanno successo solo le prime mail inserite nel file di testo.
    Ho provato ad aumentare il set_time_limit, ma non cambia nulla. Sarei stato più tranquillo non fosse andato nulla
    Grazie in anticipo per la collaborazione.
    Ultima modifica di corosangiacomo : 27-06-2006 alle ore 09.33.39

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Il problema è che puoi mandare 3 e-mail ogni 2 secondi, per risolvere questo problema fai una ricerca nel forum. Se ne è parlato anche abbastanza recentemente.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    Grazie mille, bastava conoscere il problema, che evidentemente all'atto dell'iscrizione il altervista non era segnalato così chiaramente. Comunque è bastato inserire uno sleep nel ciclo (teroricamente basta 0.666 sec, io ho fatto 1)

    Visto che altri hanno avuto questo problema, io ho fatto così:
    Codice PHP:
    foreach ($addresses as $email) {
    $email = trim($email);
    sleep(1);
    if (
    mail($email, $subject, $message, $headers)) $sucess_count++;
    else
    $fail_count++;
    }
    Ultima modifica di seneca : 24-06-2006 alle ore 19.38.54

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da corosangiacomo
    ...
    Comunque è bastato inserire uno sleep nel ciclo (teroricamente basta 0.666 sec, io ho fatto 1)

    Visto che altri hanno avuto questo problema, io ho fatto così:

    foreach ($addresses as $email) {
    $email = trim($email);
    sleep(1);
    if (mail($email, $subject, $message, $headers)) $sucess_count++;
    else $fail_count++;
    }
    L'idea non è male, ma inizierai ad avere problemi quando la tua mailing list raggiungerà quota 15 iscritti (forse anche meno), visto che il tempo massimo che il server ti concede per l'esecuzione del codice è di 15 secondi.

    Se proprio vuoi risolvere il problema, dovresti cercare un modo per riavviare la pagina per proseguire con gli invii (ovviamente negli invii successivi dovrai escludere i destinatari a cui hai già scritto...)

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Potresti fare con un
    Codice PHP:
    header("Location:pagina.php?contatore=numeropiupiu");
    Non sarebbe una cattiva idea...fai partire la lettura del file con le mail dal numero $_GET['contatore'];

  6. #6
    Guest

    Predefinito

    Se t'interessa, dai un'occhiata a questo mio 3d: LINK
    ...byex!

  7. #7
    Guest

    Predefinito

    Per info: avevo già preparato la variante simile a
    header("Location:pagina.php?contatore=numeropiupiu ");
    Poi per curiosita ho provato a mandare (mandarmi) 20 email, quindi 20 secondi: il server non ha dato segnali di fuori tempo massimo e le mail sono arrivate. Comunque nel caso c'è la precedente soluzione.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •