|

GESTIONE NEWSLETTER 1/2

La
nostra newsletter si basa sull'utilizzo del programma
Emailing List Pro (http://www.ppprogs.demon.co.uk/)
che potete scaricare dall'indirizzo http://www.amicopc.org/sw/emlpro.exe
(463 kb)
La versione non registrata pone pesanti limiti all'utilizzo,
rendendolo praticamente inutilizzabile. Per un corretto
funzionamento occorre registrarlo (15$).
Il
funzionamento della newsletter è semplice: l'utente,
dal nostro sito, inserisce il proprio indirizzo email
in un modulo che, dopo opportuni controlli, viene aggiunto
al database. Viene
poi inviata un'email, avente come mittente quello stesso
indirizzo, alla nostra casella di posta elettronica.
Se l'utente si sta iscrivendo il messaggio inivato dal
server avrà come oggetto le parole iscrizione_newsletter.
Se l'utente invece si sta cancellando dalla newsletter,
il messaggio avrà come oggetto le parole rimozione_newsletter.
Il programma Emailing List Pro si collega alla nostra
casella e controlla i messaggi presenti: se trova messaggi
aventi come oggetto le parole iscrizione_newsletter,
aggiungerà l'indirizzo del mittente all'elenco
degli iscritti. Se invece trova messaggi con oggetto
rimozione_newsletter, eliminerà il relativo
indirizzo dal proprio elenco.
L'aggiornamento
degli utenti registrati avviene quindi tramite email:
l'utilizzo del database è dovuto essenzialmente
a motivi di controllo, per evitare che un utente si
iscriva più volte o che cerchi di cancellare
un indirizzo email inesistente. Inoltre utilizzando
pagine asp per l'aggiunta e la cancellazione consente
di inviare all'utente un'email di conferma per ogni
operazione svolta.
Vediamo
i file che ci interessano.
Innanzitutto creiamo due cartella:
-
la prima si chiama mdb-database e dovrà
avere i permessi di scrittura; in questa cartella
posizioniamo il nostro database che si chiamerà
newsletter.mdb. Al suo interno creiamo una
tabella chiamata email nella quale creiamo
un unico campo di testo chiamato indirizzo
- la
seconda cartella possiamo chiamarla newsletter:
in questa posizioniamo i file asp e html che andremo
a creare.
INDEX.HTM
Si tratta di una normale pagine html con un modulo
con un unico campo di testo (chiamato indirizzo)
nel quale inserire l'indirizzo email da iscrivere alla
newsletter.
Una volta premuto il bottone 'Iscrivi' viene richiamata
la pagina iscrivi.asp
ISCRIVI.ASP
Per prima cosa dobbiamo prelevare dal modulo il
valore presente nel campo indirizzo.
La stringa che utilizziamo è la seguente:
|
<%
indirizzo=lcase(replace(request.form("indirizzo"),"'","''"))
|
Questa
stringa per prima cosa mi preleva dal modulo l'indirizzo
email inserito (request.form...); sostituisce
poi eventuali apici con le virgolette doppie in modo
da evitare problemi con l'esecuzione della pagina stessa
(replace(...), "'","''");
infine converte eventuali caratteri maiuscoli in lettere
minuscole (lcase...)
I
comandi utilizzati hanno la seguente struttura:
request.form("nome_del_campo")
replace("dove",
"che_cosa", "con_che_cosa")
lcase("testo
o variabile")
per convertire il testo o la variabile in lettere minuscole.
Per averlo in lettere maiuscole utilizzeremo il comando
ucase. Se si tratta di testo dovremo delimitarlo
mediante le virgolette doppie (es. lcase("Testo
Da Convertire")), mentre se si tratta di una variabile
ne inseriamo semplicemente il nome (es. lcase(nome_variabile"))
A questo punto dobbiamo controllare che l'indirizzo
email inserito sia corretto:
|
if
(InStr(indirizzo,"@") = 0) or (InStr(indirizzo,".")
= 0) then response.redirect "errore.asp?errore=sbagliato"
|
ovvero:
se (if) la variabile indirizzo
non contiene il simbolo @ (InStr(indirizzo,"@")
= 0) o (or) se non contiene il punto (InStr(indirizzo,".")
= 0) l'utente viene indirizzato verso la pagina
di errore passandole il parametro 'errore=sbagliato'
(response.redirect
"errore.asp?errore=sbagliato")
Il comando
InStr conta il numero delle volte che un determinato
carattere è contenuto in una stringa o variabile
specificata. Nel nostro caso controlliamo se nella variabile
indirizzo è presente il simbolo @ o il
punto. Se non trova il simbolo specificato il risultato
sarà uguale a zero.
Se è
tutto corretto creiamo la connessione con il database
newsletter.mdb posizionato nella cartella mdb-database
|
Dim
Conn
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver
(*.mdb)};dbq=" & server.mappath("../mdb-database/newsletter.mdb")
|
Controlliamo
che l'indirizzo email non sia già presente
|
Dim
rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from email where indirizzo
= '"& indirizzo &"'", conn,
3, 3
|
Se
giungiamo alla fine del database (rs.eof) significa
che l'indirizzo non è ancora inserito; quindi
mediante il comando rs.addnew creiamo un nuovo
record
Nel
campo indirizzo inseriamo quindi l'email dell'utente
che desidera iscriversi
|
rs.fields("indirizzo")=
indirizzo
|
Aggiorniamo
il database e chiudiamo la connessione
|
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
|
Prepariamo
ora il testo dell'email di conferma da inviare all'utente
stesso.
|
confermaCorpo="ISCRIZIONE
ALLA NEWSLETTER DEL MIO SITO" & VbCrLf
& "******************************************"
& VbCrLf & VbCrLf &"Salve!"
& VbCrLf & VbCrLf &"Le confermiamo
che l'indirizzo email "& indirizzo &"
e' stato correttamente iscritto alla newsletter
del mio sito." & VbCrLf & VbCrLf
& VbCrLf &"MODIFICA DI UN INDIRIZZO
EMAIL" & VbCrLf &"============================="
& VbCrLf &"Per modificare l'indirizzo
email a cui ricevere la newsletter e' sufficiente
eseguire la procedura di cancellazione relativa
al vecchio indirizzo e ripetere l'iscrizione per
quello nuovo." & VbCrLf & VbCrLf
& VbCrLf &"CANCELLAZIONE" &
VbCrLf &"===============" &
VbCrLf &"Nel caso in cui non volesse
piu' ricevere la newsletter dovra' semplicemente
collegarsi all'indirizzo" & VbCrLf &
"http://www.tuosito.com/newsletter/rimuovi.asp?email="&
indirizzo & VbCrLf &"e seguire le
istruzioni riportate." & VbCrLf &"In
questo modo l'indirizzo email in oggetto verra'
definitivamente rimosso dal nostro database."
& VbCrLf & VbCrLf &"Rimaniamo
a sua disposizione per ogni eventuale chiarimento."&
VbCrLf & VbCrLf &"I piu' cordiali
saluti!"& VbCrLf & VbCrLf &"Lo
staff del mio sito"& VbCrLf & VbCrLf
|
Creiamo
ora la nuova email
|
Dim
confermaMail
Set confermaMail = CreateObject("CDONTS.NewMail")
|
|