E’ possibile inviare mail attraverso una pagina in Classic ASP mediante l’oggetto CDONTS o CDOSYS. In questo articolo vedremo entrambe queste soluzioni.
CDONTS e CDOSYS: cosa sono e che differenze ci sono tra questi due oggetti?
Gli oggetti CDONTS (Collaborative Data Objects for NT Systems) e CDOSYS (Collaborative Data Objects for Windows) sono entrambi utilizzati per inviare e-mail da un server web. Tuttavia, ci sono alcune differenze significative tra i due.
CDONTS è un oggetto disponibile solo sui sistemi operativi Windows NT e 2000 e viene utilizzato per inviare e-mail tramite il protocollo SMTP. CDONTS è una soluzione più vecchia e meno affidabile rispetto a CDOSYS, ma può essere utilizzata in ambienti con configurazioni specifiche o limitate.
Al contrario, CDOSYS è un oggetto più recente e più potente disponibile su tutti i sistemi operativi Windows più recenti ( Windows Server 2003 e versioni successive). CDOSYS supporta una vasta gamma di funzionalità, come l’invio di e-mail con allegati, la formattazione HTML e la gestione degli errori.
Inviare una mail con ASP e CDONTS
Di seguito un esempio di codice ASP per l’invio di email mediante CDONTS:
<%
Set objMail = Server.CreateObject("CDONTS.NewMail")
objMail.From="[email protected]"
objMail.To="[email protected]"
objMail.Subject="Prove Posta"
objMail.Body="La mia prima mail con CDONTS"
objMail.importance=0
objMail.Send
Set objMail = nothing
%>
Inviare una mail con ASP e CDOSYS
Ecco una comoda funzione, da inserire nel proprio file di configurazione del sito, che ci consentirà di chiamare semplicemente una funzione MailTo(), passando a quest’ultima gli opportuni parametri. La funzione che andremo a presentarvi si basa sull’oggetto CDOSYS ed è pertanto compatibile con la maggior parte degli hosting web basati su Windows e che offrono ancora un supporto per Classic ASP:
<%
Function MailTo(M, D, O, M)
Dim MyMail
Set MyMail = CreateObject("CDO.Message")
With MyMail
.From = M
.To = D
.Subject = O
.TextBody = M
.Send
End With
Set MyMail = Nothing
End Function
%>
La richiameremo così:
<%
Dim mittente, destinatario, oggetto, messaggio
mittente = "[email protected]"
destinatario = "[email protected]"
oggetto = "Ciao, come stai?"
messaggio = "Non ci sentiamo da tanto tempo, volevo sapere se è tutto ok!"
Call MailTo(mittente, destinatario, oggetto, messaggio)
%>