La libreria Persits AspEmail consente di gestire in maniera totale l'invio di un messaggio di posta da una pagina web. La libreria è nata originariamente per ASP2.0, versione del linguaggio che ancora non prevedeva la libreria cdonts. Su tutti i piani hosting windows avete a disposizione la libreria AspEmail. Potete trovare la documentazione completa su proprietà e metodi a questo url: http://www.aspemail.com/manual.html
Il codice che invia un messaggio di testo da una pagina ASP è molto essenziale, come potete vedere di seguito:
<%
mittente = "servizioweb@vostrodominio.it"
ServerSMTP = "smtp.vostrodominio.it"
destinatario = "info@vostrodominio.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
Set messaggio = Server.CreateObject("Persits.MailSender")
messaggio.host = ServerSMTP
messaggio.from = mittente
messaggio.addaddress destinatario
messaggio.subject = oggetto
messaggio.body = corpo_messaggio
On Error Resume Next
messaggio.Send
If Err <> 0 Then
Response.Write "Messaggio non inviato, errore: " & Err.Description
End If
%>
per un uso base, l'oggetto è di semplice utilizzo. E' sufficiente configurare le caratteristiche:
.host: dovete indicare il server SMTP utilizzato per la spedizione del messaggio. Se il vostro dominio è vostrodominio.it, allora dovrete utilizzare smtp.vostrodominio.it
.from: indicate l'indirizzo di posta del mittente
.subject: è una stringa nella quale inserire l'oggetto del messaggio
.body: è una stringa che contiene il corpo del messaggio.
Poi dovrete utilizzare i seguenti metodi per indicare il destinatario e per effettuare l'invio
Se utilizzate PHP su di un piano hosting Windows, allora potrete utilizzare la libreria AspEmail di Persits Software anche tramite php, come mostrato nell'esempio successivo:
ASP: esempio di un form per la richiesta informazioni
Il codice seguente può essere utilizzato per realizzare un semplice form per l'invio di un messaggio da web. Con poche modifiche potete utilizzarlo per qualsiasi vostro scopo.
<body bgcolor="#FFFFFF" text="#000000">
<%
invio = request("invio")
mittente = request("mittente")
oggetto = request("oggetto")
corpomessaggio = request("corpomessaggio")
if (invio = "invia") then
Set messaggio = Server.CreateObject("Persits.MailSender")
messaggio.host = "smtp.vostrodominio.it"
messaggio.from = mittente
messaggio.addaddress "info@vostrodominio.it"
messaggio.subject = oggetto
messaggio.body = corpomessaggio
On Error Resume Next
messaggio.Send
If Err <> 0 Then
Response.Write "Error encountered: " & Err.Description
End If
' HTML %>
<center>
<table border=0 width="600" align=center bgcolor="#CC9966">
<tr>
<td>
la vostra richiesta informazioni è stata spedita.<br><br>
</td>
</tr>
<tr>
<td>
<form method="post" action="" name="inviamail">
<input type="submit" name="nuovo" value="nuovo messaggio">
</form>
</td>
</tr>
</table>
</center>
<%
else
' HTML
%>
<form method="post" action="" name="inviamail">
<table border=0 width="600" align=center bgcolor="#CC9966">
<tr>
<td colspan="2">
Utilizzate il form sottostante
per richiedere informazioni alla nostra azienda.
</td>
</tr>
<tr>
<td width="200" >
vostro indirizzo e-mail:
</td>
<td>
<input type="text" name="mittente" size="40">
</td>
</tr>
<tr>
<td>
oggetto della vostra richiesta:
</td>
<td>
<input type="text" name="oggetto" size="40">
</td>
</tr>
<tr>
<td>
riportate qui la vostra richiesta:
</td>
<td>
<textarea name="corpomessaggio" rows="10" cols="40">
gradirei avere informazioni su:
</textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="invio" value="invia">
</td>
</tr>
</table>
</form>
<%
end if
%>
</body>
</html>
Una proprietà dell'oggetto AspEmail è .isHTML, di tipo boolean, impostata a false per default. Impostando tale proprietà a true, AspEmail creerà un messaggio "multipart", che vi consentirà di inserire codice HTML nel corpo del messaggio.
Se .isHTML = true, allora potete impostare anche la caratteristica .AltBody che crea la parte "multipart/alternative" del messaggio (quindi in modalità testo), in maniera tale da rendere la vostra e-mail leggibile anche dai client di posta che non accettano messaggi HTML
<%
mittente = "servizioweb@vostrodominio.it"
ServerSMTP = "smtp.vostrodominio.it"
destinatario = "info@vostrodominio.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
Set messaggio = Server.CreateObject("Persits.MailSender")
messaggio.host = ServerSMTP
messaggio.from = mittente
messaggio.addaddress destinatario
messaggio.subject = oggetto
messaggio.isHTML = true
messaggio.body = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML><body bgcolor=""#FF0066"">"
+ corpomessaggio + "</body></html>"
messaggio.altbody = corpomessaggio
On Error Resume Next
messaggio.Send
If Err <> 0 Then
Response.Write "Messaggio non inviato, errore: " & Err.Description
End If
%>
ASP: esempio di invio di un messaggio con allegati
Tramite il metodo .AddAttachment potrete aggiungere un numero arbitrario di allegati al vostro messaggio. Il metodo accetta una stringa come argomento, che deve essere il percorso fisico del file sul server. Nell'esempio di seguito è utilizzato il metodo MapPath dell'oggetto Server per ricavare il percorso fisico dei due file allegati.
<%
mittente = "servizioweb@vostrodominio.it"
ServerSMTP = "smtp.vostrodominio.it"
destinatario = "info@vostrodominio.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
Set messaggio = Server.CreateObject("Persits.MailSender")
messaggio.host = ServerSMTP
messaggio.from = mittente
messaggio.addaddress destinatario
messaggio.subject = oggetto
messaggio.body = corpomessaggio
messaggio.addattachment (Server.MapPath("/allegati/moduloiscrizione.pdf"))
messaggio.addattachment (Server.MapPath("/allegati/istruzioni.pdf"))
On Error Resume Next
messaggio.Send
If Err <> 0 Then
Response.Write "Messaggio non inviato, errore: " & Err.Description
End If
%>
ASP: esempio di invio di un messaggio con SMTP autenticato o dedicato
Quando l'invio dei messaggi viene effettuato utilizzando un server SMTP autenticato o dedicato, è necessario che siano
presenti nel codice alcune informazioni indispensabili per autorizzare l'invio attraverso tale server.
Server SMTP Autenticato
In questo caso, il server SMTP autenticato è smtphostauth.interhost.it
Tale server è disponibile per tutti i siti web ospitati da Hosting Solutions, ma non può essere usato per invii massivi di email.
Nel codice, quindi, in corrispondenza delle informazioni sul server SMTP, andrà inserito il nome del server autenticato
Hosting Solutions insieme alle credenziali (utente e password) per l'autenticazione. Le credenziali sono ottenibili collegandosi
al proprio pannello di controllo e selezionando l'icona 'SMTP Autenticato'.
<%
mittente = "servizioweb@vostrodominio.it"
ServerSMTP = "smtphostauth.interhost.it" 'server SMTP autenticato Hosting Solutions
destinatario = "info@vostrodominio.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
Set messaggio = Server.CreateObject("Persits.MailSender")
messaggio.host = ServerSMTP
messaggio.Username = "mio_utente" 'utente server SMTP autenticato
messaggio.Password = "mia_password" 'password server SMTP autenticato
messaggio.from = mittente
messaggio.addaddress destinatario
messaggio.subject = oggetto
messaggio.body = corpo_messaggio
On Error Resume Next
messaggio.Send
If Err <> 0 Then
Response.Write "Messaggio non inviato, errore: " & Err.Description
End If
%>
Server SMTP Dedicato
In questo caso, il server SMTP dedicato è del tipo smtp.vostrodominio.it/.com/.eu etc.
è ordinabile come servizio aggiuntivo ed è disponibile anche da IP che non appartengono a Hosting Solutions.
Nel codice, quindi, in corrispondenza delle informazioni sul server SMTP, andrà inserito il nome del server dedicato
Hosting Solutions insieme alle credenziali (utente e password) per l'autenticazione. Tali credenziali sono state assegnate
al momento della sottoscrizione del servizio.
<%
mittente = "servizioweb@vostrodominio.it"
ServerSMTP = "smtp.vostrodominio.it" 'esempio di server SMTP dedicato
destinatario = "info@vostrodominio.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
Set messaggio = Server.CreateObject("Persits.MailSender")
messaggio.host = ServerSMTP
messaggio.Username = "mio_utente" 'utente server SMTP dedicato
messaggio.Password = "mia_password" 'password server SMTP dedicato
messaggio.from = mittente
messaggio.addaddress destinatario
messaggio.subject = oggetto
messaggio.body = corpo_messaggio
On Error Resume Next
messaggio.Send
If Err <> 0 Then
Response.Write "Messaggio non inviato, errore: " & Err.Description
End If
%>