|
Inviare email da un form Html più
tosto che un semplice link di tipo mailto: è un modo molto elegante
e professionale per permettere agli utenti di inviarci email.
I server Web sviluppati con tecnologie Microsoft mettono a
disposizione una serie di controlli ActiveX che, richiamati da un
programma Asp, permettono di inviare email senza dover ricorrere ai
client di posta elettronica installati sui PC degli utenti.
L'ActiveX che utilizzeremo è CDONTS (Collaboration Data Object for
Windows NT Server) che gestisce, per l'appunto, le problematiche
legate alla posta elettronica sulla suddetta tipologia di server
Web.
Prima di utilizzare questo script, assicurarsi che il server Web che
ospita il vostro sito, oltre a supportare Asp, abbia un server SMTP,
un server POP3 eche ci sia installata la libreria CDONTS... chiedere
non costa nulla!!!
Costruiamo il Form Html da includere nel file email.htm:
<html>
<head>
<title>Email con Asp e CDONTS</title>
</head>
<body>
<table>
<form action="email.asp" method="post">
<tr>
<td>Tuo nome</td>
<td><input type="text" name="nome"></td>
</tr>
<tr>
<td>Tua email</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td colspan="2">Messaggio</td>
</tr>
<tr>
<td colspan="2">
<textarea name="messaggio" rows="5" cols="25"></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<input type="submit" value="Invia">
<input type="reset" value="Annulla">
</td>
</tr>
</form>
</table>
</body>
</html>
Utilizziamo il metodo post
per inviare il form alla pagina email.asp che lo elaborerà e
restituirà un messaggio di conferma di email inviata.
Vediamo il codice opportunamente commentato:
<%@ LANGUAGE = JScript
%>
<%
//Crea le variabili identificative dei campi del form
var nome = new String(Request.Form("nome"));
var email = new String(Request.Form("email"));
var messaggio = new String(Request.Form("messaggio"));
//Crea l'oggetto CDONTS per l'invio dell'email
var EMAIL = new ActiveXObject("CDONTS.NewMail");
//Modificare l'indirizzo di esempio col proprio
EMAIL.To = "account@server.it";
//Indica il mittente
EMAIL.From = email;
//Indica l'oggetto della mail
EMAIL.Subject = "Messaggio da " + nome;
//Indica il corpo dell'email
EMAIL.Body = messaggio;
//Invia l'email
EMAIL.Send();
%>
<html>
<head>
<title>Email con Asp e CDONTS</title>
</head>
<body>
<div align="center">Email inviata con successo!</div>
</body>
</html>
Ribadendo la raccomandazione di chiedere
all'amministratore del proprio host se ci sono tutte le carte in
regola per utilizzare questo programma.
|