Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Ragionamento su invio newsletter

    Ragazzi ho realizzato una newsletter, e adesso mitrovo a pensare quale sia il modo migliore per non incorrere nelle ire dell'amministratore del server.
    La newsletter cheho creato, inizializza prima la connessione al server smtp, una sola volta, e quindi invia le email con destinatari singoli presi dal database con un ciclo.

    Informandomi un pò ho capito che questo dovrebbe essere il metodo migliore per diversi motivi:
    1) perchè la connessione al server smtp è una sola, e quindi il server non viene sovraccaricato di richieste
    2) perchè i campi ccn sono sempre singoli, e quindi non vado incontro a limitazioni per l'eccessivo numero di destinatari.

    L'unico dubbio riguarda il numero spropositato di email che devo mandare e quindi la possibilità che lo script vada in timeout.
    Le email che devo inviare sono circa 6.000 ed ho settato lo ScriptTimeout = 1000000

    Che ne dite? Secondo voi va bene o devo modificare qualcosa?

  2. #2

    Re: Ragionamento su invio newsletter

    imposta anche un ritardo tra una mail e l'altra ...
    alcuni server possono interpretarlo come spam
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  3. #3
    Grazie per la risposta GudFella.
    Quindi ti trovi con il mio ragionamento.

    Come posso impostare un ritardo tra un invio e un altro?
    Il codice è questo:

    codice:
    DIM iMsg, Flds, iConf
    
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields
    
    Flds(cdoSendUsingMethod) = cdoSendUsingPort
    Flds(cdoSMTPServer) = "localhost" 
    Flds(cdoSMTPServerPort) = 25
    Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
    Flds.Update
    
    	'* voce da modificare con il proprio indirizzo email
    
    do while not rs.eof
    email = rs("email")
    destinatari = email
    
    
    invioA =  destinatari
    
    	'* voce da modificare con un indirizzo email che funga da mittente: 
    	'* in caso di errore riceverete notifica a questo indirizzo un MAILER-DAEMON
    	'* dato che cdosys supporta questa notifica
    		
    invioDa =  "zseven@zseven.it"
    
    With iMsg
       Set .Configuration = iConf
       .To = ""
       .From = invioDA
       .Bcc = destinatari
       .Sender = invioDa
       .Subject = titolo
       .TextBody = messaggio 
       .HTMLbody = html
       .Send
    End With
    
    rs.movenext
    loop
    Grazie?

  4. #4
    codice:
    Function Sleep(sec)
    	Dim Start:Start = Timer:While (Timer-Start<sec):Wend
    End function
    codice:
    Response.Write("Attendo 1 secondo...")
    Response.Flush
    Sleep 1
    Response.Write("OK")
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  5. #5
    Grazie ancora, però credo che se settassi un secondo di ritardo per ogni invio email sarebbe un'esagerazione.
    Se pensi che devo mandare 5000 email, lo script impiegherebbe circa 83 minuti!!!!!

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.