Realizzare una mailing list con ASP e la paginazione

di Daniele Bochicchio, in Classic ASP, E-mail, Tips,

Negli script #55 e #56 abbiamo visto come costruire una semplice mailing list.
Anche se ASP non nasce per questo genere di cose alla fine si rivela utile perchè pratico e semplice da usare.
Vediamo dunque di migliorare lo script in oggetto per fornire una versione che riesca ad inviare più e-mail e soprattutto senza problemi di timeout.
La soluzione scelta consiste nell'impostare una paginazione sull'invio: questo permette al server di respirare ed a noi di evitare errori dovuti al timeout della pagina:

<% 
' manca la parte relativa alla connessione - da aggiungere

' salvo il messaggio in una var di sessione così da recuperarlo sulle altre pagine
if len(Request("messaggio"))>0 then
 Session("messaggio") = Request("messaggio")
end if

rs.Open strSQL, conn, 1, 3

' paginazione
mypage = Request("pg")
if mypage="" then mypage = 1

strPageSize = 20
rs.cachesize = strPageSize
rs.pagesize = strPageSize
rs.absolutepage = mypage
maxpages = CInt(rs.pagecount)

i = 0

 do while not rs.EOF
   danome = "Nostro sito"
  damail = "<webmaster@boss.ext>"
   dachi = chr(34) & danome & chr(34) & damail

   Set objMail = Server.CreateObject("CDONTS.NewMail")
   objMail.From = dachi
  objMail.Body = Session("messaggio")
   objMail.To = chr(34) & rs("nomecompleto") & chr(34) &"<"& rs("email")&">"
   objMail.Subject = oggetto
   objMail.Send
   set objMail = nothing

  i = i + 1
  if i = strPageSize then Exit Do

   rs.MoveNext
 loop

 rs.close
Set rs = Nothing

if Cint(mypage)<Cint(maxpages) then Response.redirect("invia.asp?pg=" & CINT(mypage)+1)

Response.write ("Caricate " & maxpages & " pagine")

%>

Approfondimenti

#55 - Realizzare una mailing-list con ASP 1/2
https://www.aspitalia.com/liste/usag/script.aspx?ID=55

#56 - Realizzare una mailing-list con ASP 2/2
https://www.aspitalia.com/liste/usag/script.aspx?ID=56

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi