Il componente Microsoft CDOSYS per l'invio delle e-mail da una pagina web, è presente su tutti i piani Windows
di Hosting Solutions.
Di seguito alcuni esempi di utilizzo.
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")
destinatario = "info@vostrodomino.it"
if (invio = "invia") then
'configurazione
ServerSMTP = "smtp.vostrodominio.it"
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'cdoSendUsingPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = ServerSMTP
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0 ' cdoAnonymous
.Update
End With
Set cdoMessage = CreateObject("CDO.Message")
With cdoMessage
Set .Configuration = cdoConfig
.From = mittente
.To = destinatario
.Subject = oggetto
.TextBody = corpomessaggio
End With
On Error Resume Next
cdoMessage.Send
If Err <> 0 Then
Response.Write "Error encountered: " & Err.Description
End If
Set cdoMessage = Nothing
Set cdoConfig = Nothing
' 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>
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 dell'allegato.
<%
mittente = "servizioweb@vostrodominio.it"
ServerSMTP = "smtp.vostrodominio.it"
destinatario = "info@vostrodominio.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
'configurazione
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'cdoSendUsingPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = ServerSMTP
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0 ' cdoAnonymous
.Update
End With
'messaggio
Set cdoMessage = CreateObject("CDO.Message")
With cdoMessage
Set .Configuration = cdoConfig
.From = mittente
.To = destinatario
.Subject = oggetto
.TextBody = corpo_messaggio
.AddAttachment Server.MapPath("/allegati/moduloiscrizione.pdf")
End With
On Error Resume Next
cdoMessage.Send
If Err <> 0 Then
Response.Write "Messaggio non inviato, errore: " & Err.Description
End If
Set cdoMessage = Nothing
Set cdoConfig = Nothing
%>
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'.
<%
'configurazione
ServerSMTP = "smtphostauth.interhost.it" 'server SMTP autenticato Hosting Solutions
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = ServerSMTP
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 ' cdoBasic
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = mio_utente"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mia_password"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
.Update
End With
'messaggio
mittente = "servizioweb@vostrodominio.it"
destinatario = "dest@dominiodest.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
Set cdoMessage = CreateObject("CDO.Message")
With cdoMessage
Set .Configuration = cdoConfig
.From = mittente
.To = destinatario
.Subject = oggetto
.TextBody = corpo_messaggio
.Send
End With
Set cdoMessage = Nothing
Set cdoConfig = Nothing
%>
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.
<%
'configurazione
ServerSMTP = "smtp.vostrodominio.it" 'esempio di server SMTP dedicato
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = ServerSMTP
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'cdoBasic
'utente server SMTP dedicato
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = mio_utente"
'password server SMTP dedicato
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mia_password"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
.Update
End With
'messaggio
mittente = "servizioweb@vostrodominio.it"
destinatario = "dest@dominiodest.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
Set cdoMessage = CreateObject("CDO.Message")
With cdoMessage
Set .Configuration = cdoConfig
.From = mittente
.To = destinatario
.Subject = oggetto
.TextBody = corpo_messaggio
.Send
End With
Set cdoMessage = Nothing
Set cdoConfig = Nothing
%>