Ciao a tutti,
sto provando a modificare il mio codice di CDO e mi piacerebbe se qualcuno potesse aiutarmi a capire se la strada ha senso oppure no..
premessa: il codice serve per inviare da 10.000 a 30.000 singole e-mail (con un solo destinatario in to)..
Prima di incollare il nuovo codice metto in evidenza le modifiche inserite così potete dirmi la vostra..
1. ho inserito un controllo che attende per 4 secondi ogni 200 e-mail (per fare stressare meno il servizio smtp..)
2. ho aperto e gestito la configurazione CDO prima dell'inizio del ciclo e la chiudo dopo il ciclo (prima aprivo e chiudevo configurazione e messaggio per ogni e-mail del ciclo).
(è sensato??)
3. ho impostato il messaggio con priorità bassa .. può servire per stressare meno smtp?
Grazie mille in anticipo!!
------------------ INIZIO CODICE ---------------
Function Sleep(sec)
Dim Start:Start = Timer:While (Timer-Start<sec):Wend
End function
'Configurazione server smtp
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "localhost"
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPConnectionTimeout) = 10
.Update
End With
tpea=0
for tpe=1 to num_mail
DESTINATARIO=dest_mail_perf(tpe)
Set objMessage = CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.From = MITTENTE
.To = DESTINATARIO
.Cc = COPIA
.Bcc = COPIANASCOSTA
.Subject = OGGETTO
.HTMLBody = TESTO
.Fields("urn:schemas:httpmail:importance").Value = 0
.Fields("urn:schemas:mailheader:X-MSMail-Priority") = 6
.Fields.Update()
.Send
End With
Set Fields = Nothing
Set objMessage = Nothing
tpea=tpea+1
if tpea=200 then
'-------------------------------
' attesa prima di un nuovo invio
'-------------------------------
Sleep 3
'-------------------------------
' fine attesa
'-------------------------------
tpea=0
end if
next
Set objConfig = Nothing
------------------ FINE CODICE ---------------