Ciao, ho uno strano problema con questo codice per inviare mail scaglionate, 5 x volta; nella tabella email sono contenuti 40 indirizzi, lo script quando arriva all'indirizzo con ID numero 36 va in timeOut, anche se l'email è regolarmente inviata a tutti e 40 gli indirizzi di posta previsti in tabella.

Da che potrebbe dipendere ?

codice:
session.LCID = 1040
server.scriptTimeout = 10000

   Function Sleep(sec)
	   Dim Start:Start = Timer:While (Timer-Start<sec):Wend
   End function

   xSQL = " SELECT * FROM "
   xSQL = xSQL & " email "
   xSQL = xSQL & " ORDER BY "
   xSQL = xSQL & " Email ASC "  
   
   Set rec = server.CreateObject("ADODB.Recordset") 
   rec.Open xSQL, Cn

   if not rec.eof then    

   Const cdoSendUsingMethod        = _
	   "http://schemas.microsoft.com/cdo/configuration/sendusing"
   Const cdoSendUsingPort          = 2
   Const cdoSMTPServer             = _
	   "http://schemas.microsoft.com/cdo/configuration/smtpserver"
   Const cdoSMTPServerPort         = _
	   "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
   Const cdoSMTPConnectionTimeout  = _
	"http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"

%>



<%

'#### CREO LA MAIL

   rec.MoveFirst() 
     
   Conta = 0
   ListaDestinatari = ""
      
   Do Until rec.eof
   Do Until (Conta > 5) OR (rec.eof = true)

   ListaDestinatari = ListaDestinatari & rec("email") & "; "
   Conta = Conta + 1

   rec.MoveNext() 
   Loop
	
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields

With Fields
	.Item(cdoSendUsingMethod)       = cdoSendUsingPort
	.Item(cdoSMTPServer)            = "XXXXXXX"
	.Item(cdoSMTPServerPort)        = 25
	.Item(cdoSMTPConnectionTimeout) = 10
	.Update
End With

Set objMessage = Server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig

With objMessage
    .From    = "io@google.it"
    .To       = ListaDestinatari                 
    .Subject  = "Prova."
    .HtmlBody = messaggio
    .Send	
End With

Response.Write("Attendo 3 secondi...")
Response.Flush
Sleep 3
Response.Write("OK ===> ")

response.write "Email inviata a ===> " 
response.write "" & ListaDestinatari & ""
response.write "

"

Conta = 0
ListaDestinatari = "" 

Loop
end if 

    Set Fields = Nothing
    Set objMessage = Nothing
    Set objConfig = Nothing

    rec.Close()
    Set rec = Nothing

    cn.Close()
    Set cn = Nothing