Utilizzando un database, è possibile creare una mailing-list utilizzando questo semplice codice:

<%

‘Mi collego al db ed estraggo gli indirizzi email

Dim rs, conn, sql

Set rs = Server.CreateObject(“ADODB.Recordset”)

conn = “DSN=nomeDSN;”

sql = “SELECT email FROM tabella”

rs.Open sql, conn

‘Inserisco dentro la variabile bcc tutti i destinatari

x = 0

do until rs.eof

   x = x + 1

   if x = 1 then

    bcc = rs(“email”)

  else

    bcc = bcc & “, ” & rs(“email”)

  end if

rs.moveNext

loop

rs.close

Set rs = Nothing

‘Invio l’email

Dim miaMail

Set miaMail = CreateObject(“CDONTS.NewMail”)

miaMail.From = “mittente@della.mail”

miaMail.To = “destinatario@della.mail”

miaMail.bcc = bcc

miaMail.Subject = “Oggetto della mail”

miaMail.BodyFormat = 0

miaMail.MailFormat = 0

miaMail.Body = “Testo della mail”

miaMail.Send

Set miaMail = Nothing

%>

Utilizzando .bcc eviteremo di “intasare” il server di email (pensate ad un database con più di 1000 email!)

Per inviare file in attach in una mail, ecco uno script di esempio:

<%

Dim miaMail

Set miaMail = CreateObject(“CDONTS.NewMail”)

miaMail.From = “mittente@della.mail”

miaMail.To = “destinatario@della.mail”

miaMail.Subject = “Oggetto della mail”

miaMail.BodyFormat = 0

miaMail.MailFormat = 0

miaMail.Importance = 0

‘Invio il file

miaMail.AttachFile “c:\freeasp.txt”, “nuovoNome.txt”

miaMail.Body = “Testo della mail”

miaMail.Send

Set miaMail = Nothing

%>

E’ possibile scegliere un nuovo nome per il file inviato oppure no, inserendo esclusivamente il percorso del file:

<%

miaMail.AttachFile “c:\freeasp.txt”

%>

Per spedire email da pagine ASP è necessario utilizzare l’oggetto COM CDONTS. Questo oggetto ci permette di spedire email utilizzando il server SMTP del server.

E’ possibile impostare alcune proprietà per l’invio. Vediamo quali:

<%

Dim miaMail

Set miaMail = CreateObject(“CDONTS.NewMail”)

miaMail.From = “mittente@della.mail”

miaMail.To = “destinatario@della.mail”

miaMail.Subject = “Oggetto della mail”

miaMail.BodyFormat = 0

miaMail.MailFormat = 0

miaMail.Importance = 0

miaMail.Body = “Testo della mail”

miaMail.Send

Set miaMail = Nothing

%>

Nei formati Mail e Body è possibile impostare se inviare la mail in formato semplice testo oppure HTML. Per il testo utilizzare 1 al posto di 0.

Importance imposta la priorità della mail (1, priorità alta)

Per effettuare una connessione ODBC ad un database, è necessario innanzitutto impostare il DSN da pannello di controllo del server, poi, all’interno della pagina asp, inserire questo codice:

<%

Dim rs, cn, sql

sql = “SELECT * FROM tabella”

Set rs = Server.CreateObject(“ADODB.Recordset”)

Set cn = Server.CreateObject(“ADODB.Connection”)

cn.Open “DSN=nomeDSN

Set rs.ActiveConnection = cn

rs.Open sql, cn

%>

Verrà così generato un RecordSet con i valori restituiti dall’istruzione SQL scritta

Ecco come eliminare tutte le variabili di sessione ed il loro valore:

<% Session.Contents.RemoveAll() %>

Così facendo, il valore ID di sessione rimane uguale, in quanto vengono solo scaricate le variabili utilizzate

Per eliminare un variabile di sessione, si utilizza questa sintassi:

<% Session.Contents.Remove( nomeVariabile/indice ) %>

E’ possibile specificare direttamente il nome della variabile da eliminare, oppure l’indice di riferimento. Indicando l’indice ovviamente, il server eliminerà la voce corrispondente dall’inizio dell’insieme Session

La proprietà LCID dell’oggetto Session, permette di configurare le impostazioni internazionali di una pagina asp.

In questo modo, è possibile visualizzare output come il formato valuta o data, nella forma indicata:

<%

‘Imposto il formato inglese

Session.LCID = 2057

‘Visualizzo nel formato inglese, la data odierna

%>

<%= formatDateTime(Date(), vbShortDate) %>

La tabella con i codici internazionali per questa proprietà la puoi trovare a questo indirizzo:

http://msdn.microsoft.com/scripting/default.htm?/scripting/vbscript/doc/vsmscLCID.htm

Con la proprietà:

<% Session.Timeout = 10 %>

Il valore del timeout è espresso in minuti, nel mio caso, dopo 10 minuti, se l’utente lato client non ha aggiornato la pagina oppure non ne ha richiesta una nuova, la sessione termina perdendo tutte le informazioni