Lorenzo Pascucci
a- a+

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

In molti ci hanno chiesto come realizzare il linksistema per permettere di segnalare via email un pagina di un sito web. Questo sistema è anche un ottimo metodo per avere nuovi visitatori, ancora più funzionante del passaparola.

Tale sistema lo utilizziamo anche noi, aiutandoci anche con un piccolo javascript, che analizzeremo solo alla fine di questa lezione.

Segnala.asp
Questa è la pagina che permette di compilare il modulo, scrivere un messaggio all'amico compreso il link e inviare il tutto. Tutto in una unica pagina, questa appunto.

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 registrazione
aCapo = Chr(13) & Chr(10)
msg = Request.Form("msg") & aCapo & aCapo
msg = msg & "------------------------------" & aCapo & aCapo
msg = msg & "Questo messaggio ti è stato inviato da : " & aCapo
msg = msg & Request.Form("yemail") & Request.Form("yname") & aCapo
msg = msg & "dal sito WebMaster Point" & aCapo
msg = msg & "Il punto di riferimento dei webmaster italiani" & aCapo 
msg = msg & "http://www.webmasterpoint.org" & aCapo & aCapo
msg = msg & "------------------------------" & aCapo
msg = msg & "Se non conosci la persona che ti ha segnalato questa pagina," & aCapo
msg = msg & "scrivi a lorenzo.pascucci@webmasterpoint.org specificando la sua email" & aCapo
msg = msg & "------------------------------" & aCapo
msg = msg & "WebMasterPoint.org, lo staff, il webmaster non sono" & aCapo
msg = msg & "responsabili dell'utilizzo di questo servizio" & aCapo
Set 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 = msg
mailer.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
http://www.webmasterpoint.org

------------------------------
Se non conosci la persona che ti ha segnalato questa pagina,
scrivi a lorenzo.pascucci@webmasterpoint.org specificando 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 inseriamo nella stessa pagina, quindi utilizziamo IF... THEN... ELSE..., in questo modo:

modo = Request.QueryString("modo")
if modo = "ok" then
'inserisci il codice per invio email
else
'inserisci il codice del form
End 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 passati via 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 abbiamo unito con "_" , se si riuniscono tutte le linee di codice, togliere "_"

JavaScript
Invece di aprire una nuova finestra, in cui compare il modulo 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 riga per un suo corretto funzionamento.



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Redazione
Condividi le tue opinioni su questo articolo!