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/2https://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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- annunciato #netstandard 2.1. .NET Core lo supporterà a partire da #netcore3, così come le prossime versione di #xamarin, #mono e #unity.il supporto per #netfx 4.8, invece, non ci sarà. https://aspit.co/bq2
- Annunciato Silverlight 4 RC e Windows Phone Developer Tools
- Speciale Razor: il nuovo view engine di WebMatrix e ASP.NET MVC
- Speciale Windows Store app: costruire app con WinRT per Windows 8
- Gestire lo stato all'interno di un class component di ReactJS
- Inserimenti bulk su database con la classe SqlBulkCopy di ADO.NET 2.0
- disponibile su MSDN la versione RTM di #VS2013 Update 2! https://aspit.co/auj #msTechEd