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