Visualizzazione risultati 1 fino 5 di 5

Discussione: newsletter, ciclare mail() a piu email

  1. #1
    L'avatar di fabrifibra
    fabrifibra non è connesso Utente giovane
    Data registrazione
    05-06-2006
    Messaggi
    51

    Talking newsletter, ciclare mail() a piu email

    Allora ragazzi, spero di nn aver cannato il titolo :D (e ho usato il tasto cerca)

    vi spiego il mio problema...insomma, ciò che nn riesco a fare >_>

    ...sto creando una sorta di newsletter

    e vorrei che un testo che inserisco in un form venga inviato a tutti gli iscritti a codesta newsletter....le email degli iscritti sono salvate nel database mysql...sotto la colonna "email"

    ho sperimentato vari sistemi ma nn mi trovo...ho provato a spulciare qualche pacchetto di newsletter gia composta...ma nn ci trovo niente di utile/utilizzabile...

    mi dite come fare...per far si che la funzione mail() venga ripetuta con tutti i risultati della query al campo email?

    ps: conosco bene, per nn ricevere spiegazioni da n00b, tale funzione "mail()"

    un grazie a tutti, in particolare a chi soddisfa all 100% la mia richiesta

  2. #2
    L'avatar di LastWings
    LastWings non è connesso AlterGuru
    Data registrazione
    14-10-2006
    Messaggi
    1,628

    Predefinito

    Beh, se conosci la funzione mail, e stai cercando di creare un servizio di newsletter, sicuramente non potrai non conoscere, un semplice ciclo di ripetizione.
    Utilizza un ciclo while, per inviare email a tutti gli iscritti.

    Edit: Ricordati di inserire una pausa tra l'invio di una mail ed un' altra.
    Ultima modifica di LastWings : 01-03-2008 alle ore 03.08.38
    Ecchi Paradise - Frammenti Perduti - Semplici Parole - Recensioni ed Opinioni

    Non contattatemi privatamente per ricevere supporto, per queste cose esiste il forum pubblico
    .

  3. #3
    L'avatar di fabrifibra
    fabrifibra non è connesso Utente giovane
    Data registrazione
    05-06-2006
    Messaggi
    51

    Predefinito

    Citazione Originalmente inviato da LastWings Visualizza messaggio
    Beh, se conosci la funzione mail, e stai cercando di creare un servizio di newsletter, sicuramente non potrai non conoscere, un semplice ciclo di ripetizione.
    Utilizza un ciclo while, per inviare email a tutti gli iscritti.

    Edit: Ricordati di inserire una pausa tra l'invio di una mail ed un' altra.
    si, conosco la funzione while...so che è da usare quela per ciclare ma...non so che espressione darle....

    while (espressione)
    {
    funzione mail()
    }

    cosa inserisco in "espressione"?
    nel post iniziale vi ho postato la mia situazione del database...

    se riuscite ad indicarmi la query, l'espressione da usare in while e anche la variabile da usare in mail() che corrisponde alla email dell utente...insomma tutto, mi fareste un gran favore, perche boh, mi ci perdo :(

    ringrazio ancora, mi scuso per il tempo che vi faccio perdere
    grazie lastwings :)

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

    Predefinito

    In questo caso, ti basta estrarre il campo e-mail dal database, no? Qualcosa del genere:
    Codice PHP:
    $subject = "Titolo newsletter";
    $text = "Ecco il mio messaggio per te...";

    $query = "SELECT email FROM utenti";
    $result = mysql_query ($query, $db);
    while (
    $line = mysql_fetch_array ($result))
    {
    if (!
    mail ($line['email'], $subject, $text))
    {
    echo
    "Errore nell'invio e-mail a ". $line['email'];
    break;
    }
    usleep (700); // vedi nota
    }
    Ho aggiunto la pausa suggerita da LastWings, visto che su AlterVista puoi inviare al massimo 3 e-mail ogni 2 secondi (700 ms x 3 = 2100 ms, ovvero 2,1 secondi). Tieni però presente che funzionerà solo se hai pochi utenti, perché se il tuo script impiega complessivamente più di 15 secondi (pari a circa 22 utenti), sarà arrestato per script timeout.

    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 funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Per prima cosa ti conviene inserire tutti gli indirizzi nel campo BCC per non avere il problema del numero di e-mail spedite con AlterVista (2 ogni 3 secondi) e non avere il problema di mettere la pausa e rischiare di superare i 15 secondi di esecuzione dello script.
    Codice PHP:
    $indirizzo="ciao@prova.com";
    $bcc=array();
    $risultato=mysql_query("SELECT email FROM tabella");
    while(
    $result=mysql_fetch_array($risultato))
    $bcc[]=$result['email'];
    $bcc=implode(", ",$bcc);
    $header="To: {$indirizzo}
    From: FabriFibra <
    {$indirizzo}>
    Bcc:
    {$bcc}
    X-Mailer: PHP "
    .phpversion()."
    "
    ;
    $oggetto="Oggetto del messaggio";
    $messaggio="Testo del messaggio";
    mail($indirizzo,$oggetto,$messaggio,$header);
    EDIT: Quanto ci ho messo a scrivere? Ha fatto in tempo anche DementialSite e sono passati pure 7 minuti...
    Ultima modifica di funcool : 01-03-2008 alle ore 11.31.24
    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

Regole di scrittura

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