Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Newsletter

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    18

    Newsletter

    Ciao a tutti.
    Vorrei sottoporvi un quesito.

    Ho implementato una sorta di modulo per gestire una newsletter.

    Ho gli indirizzi memorizzati in un database e dovrei spedire a tutti gli utenti che possiedono un indirizzo di posta una mail.
    La domanda è la seguente:

    Come devo implementare l'invio della mail?
    Mi spiego meglio.

    Effettuo un loop sulla tabella deli indirizzi e invio singolarmente a ciascun utente una mail o creo un'unica striga che contenga tutti gli indirizzo e invio un'unica mail per tutti?

    Se si verificasse un errore per causa di un indirizzo sbagliato annullerebbe l'invio della mail o peggio si interomperebbe e non invierebbe più nulla? Come funziona?

    Grazie a tutti

    ciao

  2. #2
    1) mandare tutto insieme ci mette del tempo e non è bello, specie se devi restituire un'altra pagina di conferma invio

    2) il bloccarsi tutto può succedere in ogni caso, devi prevedere un copntrollo su ogni indirizzo e poi o li metti tutti insieme o uno per uno (in questo caso puoi fare il controllo uno alla volta e on far mandare la mail se non vcerifica determinate condizioni..)

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    18
    Grazie per l'iteressamento,

    Quello che mi consigli è quindi inviare la mail singolarmente a ciascun utente e testare se il valore di ritorno della funzione sia true o false?

    Ma in questo caso se si verifica un errore di trasmissione si blocca il sistema o posso proseguire con l'utente successivo?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    18
    Qualcuno può confermare la mia conclusione e rassicurarmi?!?

    Grazie

  5. #5
    Bè, a parer mio la soluzione migliore è procedere all'invio delle mail una per una.

    Se utilizzi bene i sistemi di annullamento degli errori (ad es se usi "mail" mettici una chiocciola davanti) dovresti riuscire a catturare eventuali errori di invio per poi gestirli come meglio credi... ad esempio visualizzare un report delle mail inviate e no.

    In secondo luogo ti ricordo che uno script php ha in media 30 secondi di vita... dopo di che oltre a bloccarsi, sfido l'utente più paziente ad aspettare il caricamento della pagina!
    Dovresti spezzare la procedura di invio in + step in cui si inviano un numero x di mail.

    Io ho affrontato il problema un paio di settimane fa. La mia soluzione è stata:
    1) inviare la prima mail e calcolare quanto tempo ci mette.
    2) calcolare in base al tempo trascorso (di esecuzione) quante mail posso inviare al max in 30 secondi di tempo limite.
    3) inviare tutte le mail possibili.
    4) ripetere il procedimento in più step.

    In questo modo sei anche sicuro di ottimizzare al meglio il carico dello script in base alle condizioni della rete in tempo reale.

    Se hai bisogno di soluzioni contattami, ciao!
    By Pegoraro Marco
    http://adessoweb.biz- AdessoWEB - Siti web professionali a prezzo accessibile!
    http://consulenza-web.com- Il mio blog!

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    18
    Ciao Marco,
    se stato molto preciso e chiaro.

    Sicuramente seguirò la tua strada ma, credo di non avere le giuste conoscenze per implementare la soluzione che mi hai suggerito.

    Riusciresti a darmi una mano? o meglio ancora potresti passarmi lo script che hai realizzato tu?

    Altrimenti nella peggiore delle ipotesi potresti spiegarmi come funziona la @ davanti al nome della funzione e come posso testare il tempo dell'invio di una mail?

    Grazie mille.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    18
    up

  8. #8
    Bè, innanzitutto di espongo un paio di soluzioni...

    1) Tutto quello che ti ho scritto l'ho implementato in un software di News Letter:

    http://www.sin-italia.com/apps/xnews/

    Questo software permette di raccogliere i dati di destinatari con personalizzazione dinamica di campi (è possibile costruirsi un'anagrafica totalmente personalizzata e poi utilizzarla nelle news-letter inviate), raggruppare i destinatari in più liste di invio,
    Creare un progetto News Letter partendo da una mail creata con Outlook Express (quindi con immagini, allegati, ecc) personalizzabile con un gran numero di variabili... definire per il progetto gli utenti destinatari aggiungendoli da gruppi di utenti, definire eventuali LINK di cui si desidera mantenere statistiche di utilizzo, ecc...
    Una volta inviata la news letter vengono raccolte statistiche di lettura, utilizzo dei link, vengono assegnati voti alle singole newsletter, ecc....

    Prova a guardare il software.. è un'installazione totalmente aperta ed utilizzabile da chiunque. Se ti interessa questo per il prezzo casomai ne parliamo al telefono.


    2) Provo a riassumenti quanto mi chiedi nel precedente post.
    --------------------------------------------------------------
    La chiocciola posta prima di una funzione, sia essa nativa di PHP che creata da te, inibisce la visualizzazione di eventuali messaggi di errore da parte dell'interprete PHP. Praticamente eviti che lo script si pianti e puoi gestire tu gli errori in base agli output delle funzioni stesse.

    Per il tempo di invio di una mail la cosa è molto semplice.
    Per prima cosa vediamo le operazioni da fare:


    # Memorizzo in una variabile un'informazione temporale (microtime)
    # Invio la mail.
    # Calcolo il tempo trascorso in base ad un'informazione temporale attuale e a quella precedentemente salvata.

    Traduciamo in codice....

    # Calcolo la prima info temporale:
    $stime = microtime();
    $stime = split(" ",$stime);
    $stime = time()+$stime[0];

    # Invio la mail:
    if ( @mail(...) ) {
    // Invio corretto!!
    } else {
    // Invio fallito!
    }

    # Calcolo la seconda info temporale:
    $etime = microtime();
    $etime = split(" ",$etime);
    $etime = time()+$etime[0];

    # Calcolo il tempo trascorso:
    $tot_time = $etime - $stime;


    Ora... io adesso ho postato codice così a memoria... testalo bene per vedere se funziona. Io personalmente mi appoggio per i miei progetti ad un software (www.xblueproject.com) di mia produzione che mi fornisce un disastro di funzioni e oggetti per sviluppare applicazioni per web. Ad esempio queste cose del tempo di esecuzione sono gestite automaticamente... L'invio delle mail io lo faccio mediante un mio oggetto che opera una connessione diretta con un SMTP e non mediante la funzione "mail" che dipende dalle impostazioni del server...

    Bene, mi pare di averti spiegato tutto e di essermi fatto abbastanza pubblicità :-) No dai, il secondo url che ho postato porta ad un sito che è tutto in costruzione...

    Se hai ancora problemi io sono sempre qua!

    Ciao!
    By Pegoraro Marco
    http://adessoweb.biz- AdessoWEB - Siti web professionali a prezzo accessibile!
    http://consulenza-web.com- Il mio blog!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.