Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Aiuto su implementazione esecuzione asincrona invio email

    Salve a tutti,
    sto implementando uno script in PHP che invia tipo 5000 email!
    L'utente compila la form e invia.
    Grazie alla funzione Ajax.Updater() lancio una gif di caricamento mentre che lo script esegue l'invio di ogni singola email ed effettua la save nel DB.
    Io vorrei realizzare una cosa del tipo:
    - mentre si esegue ogni singolo invio la pagina dove si trova l'utente si deve aggiornare in continuazione e mostrare la lista delle mail inviate fino a quel momento, ma non ho la minima idea di come realizzare questo invio asincrono se così lo possiamo chiamare!

    Non so nemmeno se la sezione è quella giusta!

    Help me please!
    JellyBellyDev www.jellybellydev.it

  2. #2
    nessun consiglio???
    JellyBellyDev www.jellybellydev.it

  3. #3
    Aspetta, non ho capito bene...tu cos'è che vuoi fare? Vuoi che la pagina aggiorni le mail ancora da inviare, giusto? e quelle inviate scompaiono dalla lista... ma queste mail sono su un database? Scusa ma così come l'hai posto il problema non riesco a capire, magari un po' di codice potrebbe chiarire l'idea... Le mail sono già sul database o le salvi a mano a mano che le invia? E non pensi che il refresh della pagina per 5000 email sia una cosa un po' eccessiva? Considera che da come ho capito io il tuo problema, una soluzione sarebbe quella di andarsi a tirare fuori dal database solo le mail ancora da inviare, ma per 5000 richieste, il server ti scoppia!! Forse ho capito male io....

  4. #4
    in effetti non sono stato molto chiaro. Ora cero di esserlo di più! Postare il codice è un po un casino, ne è tantissimo!

    Allora funziona così:

    1 Step
    l'utente crea una lista di indirizzi destinatari con apposto form dove inserisce il nome della lista e in una textarea inserisce i 5000 indirizzi separati da un ";"
    queste informazioni vengono salvate nel DB

    2 Step
    l'utente compila una form per inviare una mail:
    - inserisce il suo indirizzo
    - seleziona tramite una select la lista degli indirizzi email destinatari
    - inserisce l'oggetto
    - inserisce il testo
    - allega file

    3 Step
    l'utente esegui INVIA

    4 Step
    eseguo un foreach di tutti gli indirizzi e salvo nel DB tutte queste mail da inviare con un apposito flag a 0 che indica da inviare, lo imposterò a 1 una volta inviata la mail.
    Una volta finita questa operazione mostro all'utente una pagina di anteprima di come sarà la mail che sta per inviare e gli mostro l'elenco di tutti gli indirizzi ai quali invierà.
    A questo punto l'utente deve cliccare di nuovo su un tasto inviare per far partire il processo di invio!

    5 Step
    una volta clikkato è qui che entrate in gioco voi!
    Io voglio che una volta che conferma l'invio delle mail l'utente devono accadere due cose:
    1° parte il processo php che invia le mail e ogni volta che ne invia una con successo modifica il flag a 1
    2° l'utente si trova di fronte una pagina che si aggiorna in continuazione mostrando le mail inviate fino a quel momento

    sono stato più chiaro? Spero di si!
    JellyBellyDev www.jellybellydev.it

  5. #5
    Ti dico subito che mi sono affacciato a javascript solo un mese fa, php l'ho cosciuto 5 anni fa ma poi ho lasciato perdere e l'ho ripreso da 2 settimane, e ajax da solo una settimana.
    Potresti fare così, ma non ti assicuro le prestazioni... una volta cliccato su invia, ti richiami uno script per la visualizzazione delle mai da inviare, e sarebbe più conveniente creare un link che aggiorna quando vuole l'utente, anziche farle spuntare tutte in automatico (anche perchè così su due piedi non saprei come fare...e in ogni caso non so se esiste qualcosa di così veloce da far visualizzare per ogni mail inviata la lista delle mail da inviare, anche perchè devi considerare che il server si sovraccarica di richieste, e se sono 5000 sono cazzi). Da questo link parte la funzione visualizza che fa una richiesta a view.php che seleziona le mail col flag 0, e le visualizza. Non so se sono stato chiaro....

  6. #6
    Originariamente inviato da peppeocchi
    Ti dico subito che mi sono affacciato a javascript solo un mese fa, php l'ho cosciuto 5 anni fa ma poi ho lasciato perdere e l'ho ripreso da 2 settimane, e ajax da solo una settimana.
    Potresti fare così, ma non ti assicuro le prestazioni... una volta cliccato su invia, ti richiami uno script per la visualizzazione delle mai da inviare, e sarebbe più conveniente creare un link che aggiorna quando vuole l'utente, anziche farle spuntare tutte in automatico (anche perchè così su due piedi non saprei come fare...e in ogni caso non so se esiste qualcosa di così veloce da far visualizzare per ogni mail inviata la lista delle mail da inviare, anche perchè devi considerare che il server si sovraccarica di richieste, e se sono 5000 sono cazzi). Da questo link parte la funzione visualizza che fa una richiesta a view.php che seleziona le mail col flag 0, e le visualizza. Non so se sono stato chiaro....
    Ho capito cosa vuoi dirmi... ma non mi piace come soluzione! Come dici tu lo so fare, ma io volevo una cosa che si eseguiva in modo asincrono. Cioè una volta clikkato invia parte un'esecuzione dello script che invia le mail e setta gli opportuni flag a 1 e un'altro script ajax che si mette in attesa che finisce il php e nel frattempo aggiorna la pagina di visualizzazione in maniera automatica ogni tot con la visualizzazione delle mail inviate fino a quel momento e una volta che lo script php finisce la pagina di visualizzazione visualizza "Completato"!
    Non hai proprio idea di come si possa fare?
    JellyBellyDev www.jellybellydev.it

  7. #7
    Originariamente inviato da peppeocchi
    Ti dico subito che mi sono affacciato a javascript solo un mese fa, php l'ho cosciuto 5 anni fa ma poi ho lasciato perdere e l'ho ripreso da 2 settimane, e ajax da solo una settimana.
    Potresti fare così, ma non ti assicuro le prestazioni... una volta cliccato su invia, ti richiami uno script per la visualizzazione delle mai da inviare, e sarebbe più conveniente creare un link che aggiorna quando vuole l'utente, anziche farle spuntare tutte in automatico (anche perchè così su due piedi non saprei come fare...e in ogni caso non so se esiste qualcosa di così veloce da far visualizzare per ogni mail inviata la lista delle mail da inviare, anche perchè devi considerare che il server si sovraccarica di richieste, e se sono 5000 sono cazzi). Da questo link parte la funzione visualizza che fa una richiesta a view.php che seleziona le mail col flag 0, e le visualizza. Non so se sono stato chiaro....
    Ho capito cosa vuoi dirmi... ma non mi piace come soluzione! Come dici tu lo so fare, ma io volevo una cosa che si eseguiva in modo asincrono. Cioè una volta clikkato invia parte un'esecuzione dello script che invia le mail e setta gli opportuni flag a 1 e un'altro script ajax che si mette in attesa che finisce il php e nel frattempo aggiorna la pagina di visualizzazione in maniera automatica ogni tot con la visualizzazione delle mail inviate fino a quel momento e una volta che lo script php finisce la pagina di visualizzazione visualizza "Completato"!
    Non hai proprio idea di come si possa fare?
    JellyBellyDev www.jellybellydev.it

  8. #8
    non puoi mettere nel tuo script un for che controlla tutti i flag delle emai, e quando non c'è nessun record con flag 0, fa una echo con su scritto Completato! ? Però penso che questo intasi il server, che deve fare centinaia di controlli....Non penso di poterti aiutare, anche perchè come ti ho detto, mi sono affacciato a questo tipo di programmazione da poco... Magari faccio qualche prova e ti faccio sapere se arrivo ad una soluzione....

  9. #9
    Originariamente inviato da peppeocchi
    non puoi mettere nel tuo script un for che controlla tutti i flag delle emai, e quando non c'è nessun record con flag 0, fa una echo con su scritto Completato! ? Però penso che questo intasi il server, che deve fare centinaia di controlli....Non penso di poterti aiutare, anche perchè come ti ho detto, mi sono affacciato a questo tipo di programmazione da poco... Magari faccio qualche prova e ti faccio sapere se arrivo ad una soluzione....
    Io non ho problemi di server, ne abbiamo uno dedicato che è un mostro, il mio vero problema è che non so come fare eseguire le due cose in modo asincrono!!!
    JellyBellyDev www.jellybellydev.it

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da JellyBelly
    ... Cioè una volta clikkato invia parte un'esecuzione dello script che invia le mail e setta gli opportuni flag a 1 e un'altro script ajax che si mette in attesa che finisce il php e nel frattempo aggiorna la pagina di visualizzazione in maniera automatica ogni tot con la visualizzazione delle mail inviate fino a quel momento e una volta che lo script php finisce la pagina di visualizzazione visualizza "Completato"!...
    Da quello che ho capito, e da quello che so io javascript e ajax non possono essere messi in attesa o sospesi per poi essere ripresi. Per dubbi o chiarimenti http://javascript.html.it/guide/leggi/95/guida-ajax/
    Credo che per quello che vuoi fare l'unica soluzione sia una volta salvato la mail da inviare e confermata parta un "ciclo" che spedisce la 1° mail ad elaborazione ultimata a video restituisca "1 mail di 5000 inviata con successo...." automaticamente riparte per il 2° invio, etc...
    A mio parere è da pazzi gestire un invio di 5000 email per utente, qualsia server tu abbia per me prima o poi ciocca, comunque auguri per il progetto.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.