|

GESTIONE NEWSLETTER 1/2

RIMUOVI.ASP
Per cancellare il proprio indirizzo dalla newsletter
è sufficiente collegarsi alla pagina rimuovi.asp
e inserire l'email nell'apposito campo.
Volendo si può richiamare questa pagina passandole
il parametro email=tua_email@tuo_server.com
In questo modo l'indirizzo email compare già
nel campo di testo. Questo sistema può essere
utilizzato quando, inviando la newsletter, si aggiunge
alla fine del messaggio stesso un avvertimento del tipo
"Per
rimuoverti dalla newsletter vai all'indirizzo http://www.miosito.com/rimuovi.asp?email=XXX"
In
questo modo l'utente che vuole cancellarsi dovrà
semplicemente seguire il link e confermare.
Il
programma Emailing List Pro non dispone di questa funzionalità
che però è compresa nel programma che
vedremo nella prossima settimana.
Come
prima cosa quindi dobbiamo prelevare il valore del parametro
email dalla stringa di collegamento.
|
<%
email = lcase(request.querystring("email"))
%>
|
Creiamo
poi un modulo che mi invii i dati inseriti alla pagina
cancella.asp
Il valore contenuto nella variabile email
sarà visualizzato come valore iniziale dal campo
di testo; se la variabile è vuota lo sarà
anche il campo di testo
|
<html>
<head>
<title>Newsletter</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<script language="javascript">
<!--//
function Controlla(){
if (document.mio_form.indirizzo.value==""){
alert("E' necessario inserire il proprio
indirizzo email");
return false;
}
return true;
}
//-->
</script>
</head>
<body
bgcolor="#FFFFFF" text="#666666"
link="#808080" vlink="#808080"
alink="#808080">
<div align="center">
<p> </p>
<p><font face="Verdana, Arial, Helvetica,
sans-serif" size="2"><b><font
color="#c60000">Cancellazione
dalla newsletter:</font></b></font></p>
<form name="mio_form" method="POST"
action="cancella.asp" language="javascript"
onSubmit="return Controlla()">
<table width="200" border="0"
cellspacing="0" cellpadding="4">
<tr>
<td>
<div align="center"><font face="Verdana,
Arial, Helvetica, sans-serif" size="2">Inserisci
l'indirizzo email da rimuovere:</font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><font face="Verdana,
Arial, Helvetica, sans-serif" size="2">
<input type="text" name="indirizzo"
value="<% response.write email %>">
</font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><font face="Verdana,
Arial, Helvetica, sans-serif" size="2">
<input type="submit" name="Submit"
value="Rimuovi">
</font></div>
</td>
</tr>
</table>
</form>
<p> </p>
</div>
</body>
</html>
|
CANCELLA.ASP
Questa pagina si occupa di eliminare l'indirizzo
dal database e di inviare l'email di conferma all'utente
e al programma di gestione della newsletter.
Per prima cosa preleviamo l'indirizzo inserito nel modulo
appena inviato. Anche in questo caso sostituiamo eventulai
apici con le virgolette doppie, trasformando eventuali
caratteri maiuscoli in lettere minuscole.
|
<%
indirizzo=lcase(replace(request.form("indirizzo"),"'","''"))
|
Nel
caso in cui il modulo appena inviato fosse vuoto, reindirizziamo
l'utente verso la pagina di errore, passandole il parametro
errore=vuoto
|
if
indirizzo = "" then response.redirect
"errore.asp?errore=vuoto"
|
Creiamo
la connessione al database e controlliamo che l'indirizzo
specificato sia presente nel database.
|
Dim
Conn
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver
(*.mdb)};dbq=" & server.mappath("../mdb-database/newsletter.mdb")
Dim
rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from email where indirizzo
= '"& indirizzo &"'", conn,
3, 3
|
Se
si giunge alla fine del database senza trovare nessun
record corrispondente, significa che l'email inserita
non è iscritta alla newsletter. Pertanto chiudiamo
la connessione e carichiamo la pagina di errore.
|
if
rs.EOF then
set rs=nothing
conn.close
set conn=nothing
response.redirect "errore.asp?errore=manca"
|
In
caso contrario eliminiamo il record corrispondente e
chiudiamo la connessione
|
else
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "delete * from email where indirizzo =
'"& indirizzo &"'", conn, 3, 3
set rs=nothing
conn.close
set conn=nothing
|
Inviamo
poi l'email di conferma all'utente con le stesse modalità
viste in precedenza
|
Dim
confermaMail
Set confermaMail = CreateObject("CDONTS.NewMail")
rimuoviCorpo="RIMOZIONE
DALLA NEWSLETTER DEL MIO SITO" & VbCrLf
& "******************************************"
& VbCrLf & VbCrLf &"Salve!"
& VbCrLf & VbCrLf &"Le confermiamo
che l'indirizzo email "& indirizzo &"
e' stato correttamente rimosso dalla newsletter
del mio sito." & VbCrLf & VbCrLf
&"Grazie per essere stato con noi!"&
VbCrLf & VbCrLf &"I piu' cordiali
saluti!"& VbCrLf & VbCrLf &"Lo
staff del mio sito"& VbCrLf & VbCrLf
confermaMail.From
= indirizzo
confermaMail.To = "tua_email@tuo_sito.com"
confermaMail.Subject = "Cancellazione dalla
newsletter"
confermaMail.BodyFormat = 1
confermaMail.MailFormat = 1
confermaMail.Body = rimuoviCorpo
confermaMail.Send
set confermaMail = Nothing
|
Infine
inviamo l'email al programma di gestione della newsletter.
|
Dim
rimuoviMail
Set rimuoviMail = CreateObject("CDONTS.NewMail")
rimuoviMail.From = indirizzo
rimuoviMail.To = "tuo_indirizzo@tuo_sito.com"
rimuoviMail.Subject = "rimozione_newsletter"
rimuoviMail.BodyFormat = 1
rimuoviMail.MailFormat = 1
rimuoviMail.Body = "-"
rimuoviMail.Send
set rimuoviMail = Nothing
response.redirect "ok.htm"
end if
%>
|
In
questo caso l'oggetto del messaggio sarà rimozione_newsletter,
in modo da far capire al programma che si tratta di
un utente che desidera cancellare la proprio iscrizione.
|