Newsgroup: it.comp.www.asp
Titolo: Problema con Mailing List ASP (lunghino)

Ho una mailing list che gestisco sul sito con lo script che allego, ha sempre funzionato perfettamente, ma
ulimamente ci sono dei problemi con Libero e adesso anche con Tin.
In pratica mando circa 1000 e-mail agli iscritti (tutte in formato txt) e da ca un mese quelle di libero (che sono 97) ritornano
indietro
con il messaggio:
421 
smtp6.libero.it
 Service not available - too many connections
30 attempts will be made to re-send your e-mail.  Each attempt will be 4 hours apart.
questa settimana sono anche tornate quelle di Tin, pensavo di essere stato killato da libero, ho scirtto anche al postmaster (che
non mi ha risposto), ho fatto una prova da un'altro db con una sola mail di libero e la manda...
a questo punto credo che il problema sia dato da qualche sicurezza per cui ricevendo insieme tutte le mail vengono bloccate...
avete consigli o esperienza in merito ?
dovrei *temporizzare* l'invio delle mail che prendo dal DB, se si in che modo?
Grazie, di seguito il code utilizzato:
<%
Response.Expires = 0
'INIZIALMENTE AVEVO UTILIZZATO session.Timeout=180 ma poi mi hanno consigliato Server.ScriptTimeout=60000
server.scripttimeout = 60000
'DIMENSIONO LE VARIABILI IN CUI RICEVO OGGETTO E MESSAGGIO DAL FORM
DIM oggetto_v
oggetto_v = Request.Form("oggetto")
DIM messaggio_v
messaggio_v = Request.Form("messaggio")
DIM destinatario_email_v 'questa variabile mi serve successivamente
DIM CONTATORE_V
CONTATORE_V = 0
'INIZIO RECORDSET
set RSNewsletter = Server.CreateObject("ADODB.Recordset")
RSNewsletter.ActiveConnection = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("../db/maildatatest.mdb")
RSNewsletter.Source = "select * from Mail"
RSNewsletter.CursorType = 0
RSNewsletter.CursorLocation = 2
RSNewsletter.LockType = 3
RSNewsletter.Open()
'INIZIO IL CICLO DI INVIO NEWSLETTER
WHILE NOT RSNewsletter.EOF
 'SE DA QUI RISCONTRA UN ERRORE VA AVANTI
 On error resume Next
 Set Mail = Server.CreateObject("Persits.MailSender")
 Mail.IsHTML = false 'se impostato a true il contenuto della newsletter e' in formato HTML
 Mail.Host = "
mail.miosito.it
" ' Specify a valid SMTP server
 Mail.From = "
ne...@miosito.it
" ' Specify sender's address
 Mail.FromName = "
z2000.it
" ' Specify sender's name
 'VALORIZZO L'EMAIL DEL DESTINATARIO PERCHE' MI SERVE PER COSTRIRE UN ELENCO DI EMAIL CHE HANNO DATO PROBLEMI
 destinatario_email_v = RSNewsletter.Fields.Item("Email").Value
 Mail.AddAddress destinatario_email_v 'SPECIFICA EMAIL DEL DESTINATARIO
 Mail.AddReplyTo "
ne...@miosito.it
"
 Mail.Subject = oggetto_v 'PRENDO IL VALORE PASSATO NEL FORM
 Mail.Body = messaggio_v 'PRENDO IL VALORE PASSATO NEL FORM
 Mail.Send
 set mail = nothing
 CONTATORE_V = CONTATORE_V + 1
 '********** IN CASO DI EMAIL CHE RITORNANO UN ERRORE SCRIVI NELLA VARIABILE ************
 IF Err <> 0 THEN
  'COSTRUISCO UN ELENCO DI EMAIL CHE HANNO DATO PROBLEMI
  destinatario_email_ELENCONONVALIDE_v = destinatario_email_ELENCONONVALIDE_v & "<BR> " & destinatario_email_v
  'RIPORTO LO STATO  di Error a PRIMA DI "ON ERROR RESUME NEXT"
  Error.Clear
 END IF
'LOOP
RSNewsletter.MoveNext
WEND
%>
<HTML>
<HEAD>
<TITLE>Invio Newsletter TEST</TITLE>
</HEAD>
<body>
<div align="center">Report di invio Newsletter</div>
<br>
<%
 IF destinatario_email_ELENCONONVALIDE_v = "" THEN
 Response.write ("HO INVIATO CON SUCCESSO "&CONTATORE_V&" NEWSLETTER !")
 ELSE
 Response.write ("HO RISCONTRATO ERRORI NELL'INVIO DELLA NEWSLETTER AI SEGUENTI EMAIL: " & destinatario_email_ELENCONONVALIDE_v &
"<BR><BR>EMAIL INVIATE IN TOTALE: "& CONTATORE_V &"")
 END  IF
%>
</body>
</html>
<%
RSNewsletter.Close()
Set RSNewsletter = Nothing
%>

 ...
L'invio di una e-mail alla volta è molto impegnativo per il server, io ti
consiglio mandare una sola e-mail con l'elenco delle email di destinazione
come campo BCC. Avevo fatto delle prove (con AspEmail) e riuscivo a inviare
a 500 destinatari alla volta una sola e-mail.
Purtroppo non so consigliarti o aiutarti a risolvere quello strano problema
di ritorno delle email.
Ciao
--
AZ [Microsoft .NET MVP]

 a 500 destinatari alla volta una sola e-mail.
come consiglio è buono, il problema non è che il server non ce la fa...non fa una piega...:-)
posso provare e vedere, anche se dubito che si risolva qualcosa, perchè intanto arrivano
tutte insieme...
in pratica dovrei fare un ciclo sul db, nettere le mail come BCC e dopo inviare...
chissa se mille in questo modo le fa inviare o devo frazionare...
cmq provo...
qualcuno sa eventualmente come impostare un intervallo tipo "setInterval" (da Js...:-)...)
per intervallare le mail di tot secondi?
-- 
            \ | /
        ( @ @ )         Chicco Flash
---oOO-(_)-OOo--------------------------
 
www.z2000.it
Flash Forum: 
www.z2000.it/forum

 ---oOO-(_)-OOo--------------------------
Ciao


 }
no va beh, non intendevo un setInterval per ricaricaricare la pagina...:-)
semmai un'intervallo in ASO, che dopo aver preso tutte le mail dal db
le invia con un piccolo intervallo...
ciao :-)
-- 
            \ | /
        ( @ @ )         Chicco Flash
---oOO-(_)-OOo--------------------------
 
www.z2000.it
Flash Forum: 
www.z2000.it/forum

 ---oOO-(_)-OOo--------------------------
