Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    135

    inviare mail ogni tot secondi

    ciao a tutti,
    devo spedire delle mail a "scadenza" per non intasare il server SMTP che uso.
    Non sono molto pratico di cicli for, qualcuno sa indicarmi esempi in asp.net(vb) dove posso capire come fare un ciclo che divida le mie occorrenze in base ad un tempo prestabilito?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539

    Re: inviare mail ogni tot secondi

    Originariamente inviato da nicola_prw
    ciao a tutti,
    devo spedire delle mail a "scadenza" per non intasare il server SMTP che uso.
    Non sono molto pratico di cicli for, qualcuno sa indicarmi esempi in asp.net(vb) dove posso capire come fare un ciclo che divida le mie occorrenze in base ad un tempo prestabilito?
    Grazie
    ciao, non ho chiaro cosa intendi, la risposta potrebbe essere da un semplice thread.spleep dentro ogni iiterazione del ciclo, alla più complessa gestione di un sistema asincrono per ottenere una sorta di coda di esecuzione per liberare il ciclo.

    immagino uno scenario dove un utente deve inviare tot mail, e per qualche motivo, deve, come dici tu, temporizzarle, ovvero ciclare si le mail, ma permettere all'utente di uscire subito dal ciclo, mentre le email vengono spedite ad intervalli di (ad esempio) 5 secondi l'una dall'altra, è questo il tuo scenario?
    se si, come detto prima, devi creare una sorta di collettore generale per le email, dove vengono accodate e svincolate da una classe esterna alla pagina.

    che linguaggio usi?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    135
    ciao e grazie per la risposta,
    ho creato un array di indirizzi, e con un semplice ciclo for spedisco le mail, circa 1500. Da un po' di tempo va in errore, il gestore del sito dice che dipende dal fatto che le mail vanno via troppo rapidamente ed il server SMTP si intasa. Mi dice che ne dovrei spedire circa due al secondo.. Come avrai capito sono agli inizi, sto usando vb.net

    un po di codice, come vedi banale:

    For i = 0 To Mlist.arrMailSgtRecensiti.Count - 1 'array che contiene le mail


    Dim email As New MailMessage("mioindirizzo", Mlist.arrMailSgtRecensiti(i), "titolo mail", testo)
    email.IsBodyHtml = True
    Dim smtp As New SmtpClient("out.virgilio.it")
    Try
    smtp.Send(email)

    Catch ex As Exception
    Response.Write(ex.Message)
    End Try
    Next

    grazie

  4. #4
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Originariamente inviato da nicola_prw
    ciao e grazie per la risposta,
    ho creato un array di indirizzi, e con un semplice ciclo for spedisco le mail, circa 1500. Da un po' di tempo va in errore, il gestore del sito dice che dipende dal fatto che le mail vanno via troppo rapidamente ed il server SMTP si intasa. Mi dice che ne dovrei spedire circa due al secondo.. Come avrai capito sono agli inizi, sto usando vb.net

    un po di codice, come vedi banale:

    For i = 0 To Mlist.arrMailSgtRecensiti.Count - 1 'array che contiene le mail


    Dim email As New MailMessage("mioindirizzo", Mlist.arrMailSgtRecensiti(i), "titolo mail", testo)
    email.IsBodyHtml = True
    Dim smtp As New SmtpClient("out.virgilio.it")
    Try
    smtp.Send(email)

    Catch ex As Exception
    Response.Write(ex.Message)
    End Try
    Next

    grazie
    ciao, sono parecchie! comunque, per "rallentare" il ciclo tra una e l'altra email metti :

    codice:
    For i = 0 To Mlist.arrMailSgtRecensiti.Count - 1 'array che contiene le mail
    
                       
         Dim email As New MailMessage("mioindirizzo", Mlist.arrMailSgtRecensiti(i), "titolo mail", testo)
                        email.IsBodyHtml = True
                        Dim smtp As New SmtpClient("out.virgilio.it")
                        Try
                            smtp.Send(email)
                            System.Threading.Thread.Sleep(500) 
                        Catch ex As Exception
                            Response.Write(ex.Message)
                        End Try
                    Next
    questo dovrebbe fermare il ciclo per mezzo secondo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    135
    ok domani provo.
    Visto che sei così disponibile ne approfitto
    Sapresti consigliarmi qualcosa di alternativo al codice che ho scritto? Mi spiego, siti come HTML.IT mandano via molte più mail e non credo abbiano questi problemi, esiste del software specifico o il codice va scritto in una maniera particolare per cui non si debba rimanere 20 minuti in attesa che la pagina finisca di eseguire lo script rischiando il timeout?
    Ancora grazie

  6. #6
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Originariamente inviato da nicola_prw
    ok domani provo.
    Visto che sei così disponibile ne approfitto
    Sapresti consigliarmi qualcosa di alternativo al codice che ho scritto? Mi spiego, siti come HTML.IT mandano via molte più mail e non credo abbiano questi problemi, esiste del software specifico o il codice va scritto in una maniera particolare per cui non si debba rimanere 20 minuti in attesa che la pagina finisca di eseguire lo script rischiando il timeout?
    Ancora grazie
    ciao, partiamo dal presupposto che non ho di sicuro la presunzione di poterti consigliare qui in due righe (ma anche di più!) sistemi superefficienti...
    comunque, credo che html.it non si affidi ad una pagina web per fare questo tipo di lavoro, penso che abbiano un loro server dedicato alla posta (non so).
    nel tuo caso, ti consiglierei di incominciare a prendere in esame la possibilità di inviare le mail dal pc che usi per chiamare la pagina (visto che mi sembra di capire che chiami la pagina con il tuo pc), in questo modo non avresti problemi di timeout, o a limite potresti provare a fare l'invio in modalità asincrona (questo articolo forse può aiutarti), anche se devo dire che ci sarebbe da discutere su cosa sia meglio. comunque io non mi occupo di web, quindi sicuramente non potrei consigliarti al meglio riguardo prestazioni e affini specificatamente "web side".


  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    135
    ho capito, più o meno :-D
    grazie della disponibilità e buona domenica

  8. #8
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Originariamente inviato da nicola_prw
    ho capito, più o meno :-D
    grazie della disponibilità e buona domenica
    altrettanto


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.