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

Discussione: Invio email

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    65

    Invio email

    Ho la necessità di inviare delle newsletter. Ho tutta la procedura pronta, il problema è che il server di posta SMTP che utilizzo ha dei limiti sull'invio: max. 50 destinatari per email e 300 email all'ora. Mi chiedevo se potete suggerirmi una soluzionr in modo da "spalmare" l'invio nel tempo.
    Ciao

  2. #2
    io ho solitamente utiliazzato l'invio diviso per gruppi ogni 50 email richiami la pagina.
    Ma non ho blocchi per ora.
    In questo caso potresti fare una procedura che gira fissa sul server ad ogni ora che ogni ora spedisce 300 email divise in blocchi. Se non trova le email da spedire non le spedisce. Magari scrivi i dati in un file di testo e ogni volta legge il file di testo invia e cancella gli indirizzi già inviati

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    65
    Come posso realizzare tale procedura?
    Mi dai qualche suggerimento? Oppure esiste qualcosa di già pronto?

    Ciao e grazie

  4. #4
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    il codice per inviare le mail lo devi fare a mano a seconda delle
    necessità, eventualmente implementa una nuova tabella o aggiorni
    una già presente per tenere traccia degli utenti ai quali hai spedito
    la mail corrente.
    Per automatizzare i processi, se sei in hosting e non puoi
    programmare l'esecuzione di pagine, puoi utilizzare il
    servizio webcron.
    luca
    www.intheweb.it - Internet solutions

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    65
    Uhm, non penso di essere così bravo. Comunque grazie per le risposte.

  6. #6
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    Questo è un codice che ho usato recentemente,
    ovviamente adattalo ai tuoi scopi ma credo sia un buon punto di partenza.
    In pratica controlla un flag nel database (campo mail_inviata) per prendere i
    primi 50 utenti a cui non è stata inviata la mail e gli manda le mail.
    Se richiami la pagina asp ogni cinque minuti, mandi tutte le mail in blocchi di 100.
    Se hai il limite di 300 mail l'ora, programmi sei chiamate, poi fai attendere un'ora e
    fai le altre chiamate e cosi via.
    La pianificazione delle chiamate della pagina la puoi fare con webcron in modo
    da automatizzare tutta la procedura.
    luca

    Codice PHP:
    Set rs Server.CreateObject("ADODB.Recordset")
    rs.ActiveConnection str_conn    'stringa di connessione al database

    rs.Source = "SELECT TOP 50 * FROM utenti WHERE mail_inviata = '
    No' and email <> '' "
    rs.Open()

    if not (rs.Eof and rs.BoF) then

    Set rsUpd = Server.CreateObject("ADODB.Recordset")
    rsUpd.ActiveConnection = str_conn

    invioDa =  "tua_email@tuamail.com"
    DIM iMsg, Flds, iConf
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields
    Flds(cdoSendUsingMethod) = cdoSendUsingPort
    Flds(cdoSMTPServer) = "smtp.aruba.it"   '
    da cambiare con il server del tuo provider
    Flds
    (cdoSMTPServerPort) = 25
    Flds
    (cdoSMTPAuthenticate) = cdoAnonymous ' 0
    Flds.Update
    email=0

    do while not rs.eof
    if rs("email") <> "" then '
    controllo presenza email nel datanase per evitare blocchi dello script

    With iMsg
       Set 
    .Configuration iConf
       
    .To rs("email")
       .
    From invioDa
       
    .Sender invioDa
       
    .Subject "Titolo email"
       
    .TextBody "corpo email""
             
       .Send
    End With

    rsUpd.source = "
    update utenti set mail_inviata 'Si' where id " & rs("id") & ""
    rsUpd.open()

    email = email + 1

    end if 'fine controllo esistenza email nel database

    rs.movenext

        loop

    rs.close
    Set rs = Nothing    

    response.write("
    Sono state inviate " & email &"  con successo")

    else 

    response.write("
    Nessuna email inviata")

    end if 
    www.intheweb.it - Internet solutions

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    65
    Intanto ti ringrazio per il codice.
    Una domanda: crontab funziona solo su server linux?

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    65
    Scusa, webcron non crontab.

  9. #9
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    webcron è un servizio esterno al server, funziona con qualsiasi sito su qualunque piattaforma.
    luca
    www.intheweb.it - Internet solutions

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    65
    Non avevo capito nulla! Pensavo dovesse essere caricato sul "mio" server.
    Quindi, se non ho capito male, dovrò inserire qualche comando sulla pagina che deve essere "gestita" da webcron in modo tale che venga ricaricata ed eseguita nei tempi definiti.
    giusto?

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.