Lorenzo Pascucci
a- a+

Segnala ad un amico, script per mandare una pagina per email

In molti ci hanno chiesto come realizzare il linksistema perpermettere di segnalare via email un pagina di un sito web.Questo sistema è anche un ottimo metodo per averenuovi visitatori, ancora più funzionante delpassaparola.

Tale sistema lo utilizziamo anche noi, aiutandoci anche conun piccolo javascript, che analizzeremo solo alla fine diquesta lezione.

Segnala.asp
Questa è la pagina che permette di compilare ilmodulo, scrivere un messaggio all'amico compreso il linke inviare il tutto. Tutto in una unica pagina, questaappunto.

Codice del modulo:

<form action="segnala.asp?modo=ok" method=post id=form1 name=form1><input type=hidden name="page" value="<%=Request.QueryString %>"><TABLE bgColor=#b0c4de border=1 cellPadding=0 cellSpacing=0 width=90% background="" bordercolor=#000000><TR><TD width="50%"><font size="2" face="Verdana">Nome amico :</font></td><TD width="50%"><font face="Verdana" size=3><input type=text name="name" size=20></td></tr><TR><TD width="50%"><font size="2" face="Verdana">Email amico :</font></td><TD width="50%"><font face="Verdana" size=3><input type=text name="email" size=20></td></tr> <TR><TD><font size="2" face="Verdana">Il tuo nome :</font></td><TD><font face="Verdana" size=3><input name="yname" size=20></td></TR><TR><TD><font size="2" face="Verdana">La tua email :</font></td><TD><font face="Verdana" size=3><input name="yemail" size=20></td></TR> <TR><TD colspan=2><font face="Verdana" size=2>Messaggio</FONT></td></tr><tr><TD colspan=2><font face="Verdana" size=2><textarea name="msg" cols=40 rows=5>Ciao,ho pensato che questa pagina ti possa interessare:<%=Request.QueryString("page") %></textarea></font></td></TR><TR><TD colspan=2 align=center><font size="2" face="Verdana"><Input type=submit value="Segnala!" id=submit1 name=submit1></font></td></TR></form></TABLE>

Che apparirà in questo modo:

Nome amico :
Email amico :
Il tuo nome :
La tua email :
Messaggio

Ora utilizziamo il seguente codice per inviare l'email(adatto per ASPmail):

<%'invio email per registrazioneaCapo = Chr(13) & Chr(10)msg = Request.Form("msg") & aCapo & aCapomsg = msg & "------------------------------" & aCapo & aCapomsg = msg & "Questo messaggio ti è stato inviato da : " & aCapomsg = msg & Request.Form("yemail") & Request.Form("yname") & aCapomsg = msg & "dal sito WebMaster Point" & aCapomsg = msg & "Il punto di riferimento dei webmaster italiani" & aCapo msg = msg & "https://www.webmasterpoint.org" & aCapo & aCapomsg = msg & "------------------------------" & aCapomsg = msg & "Se non conosci la persona che ti ha segnalato questa pagina," & aCapomsg = msg & "scrivi a lorenzo.pascucci@webmasterpoint.org specificando la sua email" & aCapomsg = msg & "------------------------------" & aCapomsg = msg & "WebMasterPoint.org, lo staff, il webmaster non sono" & aCapomsg = msg & "responsabili dell'utilizzo di questo servizio" & aCapoSet mailer = Server.CreateObject("SMTPsvg.mailer")mailer.FromAddress = Request.Form("yemail")mailer.RemoteHost = "mail.webmasterpoint.org"mailer.Recipient = Request.Form("email")mailer.Bcc = "lorenzo.pascucci@libero.it"mailer.Subject = "Ciao, sono " & Request.Form("yname") & Chr(13) & Chr(10)mailer.BodyText = msgmailer.SendMail %>

Il messaggio email risulterà così:

Ciao,
ho pensato che questa pagina ti possa interessare:
XXXXXXXX URL PAGINA CONSIGLIATA XXXXXXXX

Cri

------------------------------

Questo messaggio ti è stato inviato da :
cristiana.campagnaro@dedalomedia.it
dal sito WebMaster Point
Il punto di riferimento dei webmaster italiani
https://www.webmasterpoint.org

------------------------------
Se non conosci la persona che ti ha segnalato questapagina,
scrivi a lorenzo.pascucci@webmasterpoint.orgspecificando la sua email
------------------------------
WebMasterPoint.org, lo staff, il webmaster non sono
responsabili dell'utilizzo di questo servizio

Il codice del form e per inviare l'email li inseriamonella stessa pagina, quindi utilizziamo IF... THEN...ELSE..., in questo modo:

modo = Request.QueryString("modo")if modo = "ok" then'inserisci il codice per invio emailelse'inserisci il codice del formEnd If

Invece in tutte o alcune pagine asp del proprio sito ènecessario inserire la seguente linea di codice, che nonè altro che un link con dei dati sulla pagina passativia stringa (link).

<a href="segnala.asp?page=http://<%= _Request.ServerVariables("HTTP_HOST")& _Request.ServerVariables("URL")%>" target="_blank"> Segnala questa pagina per email </a>

NOTA: Il codice non entrando in una riga lo abbiamounito con "_" , se si riuniscono tutte le linee dicodice, togliere "_"

JavaScript
Invece di aprire una nuova finestra, in cui compare ilmodulo per segnalare la pagina, con dimensioni variabili,è possibile utilizzare un semplice javascript.

Inserisci questo codice tra i tag head:

<script>function open_window(url){mywin = window.open(url,"window" ,'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=510,height=410');}</script>

E il link della pagina, invece di utilizzare quello di prima,dovrà essere:

<a href="javascript:open_window('../../send_pag.asp?page=http://<%=Request.ServerVariables("HTTP_HOST")&Request.ServerVariables("URL")%>')"> Segnala pagina </a>

NOTA: Anche questo codice va messo tutto su una rigaper un suo corretto funzionamento.