Articoli Referenze Script FAQ Downloads ASP E-Commerce con ASP Menu Javascript Area Aziende Cocktail Registrazione domini



Inviare email con CDONTS

Home + Articoli + Email + Articolo # 12
Autore: Luca Ruggiero



ASP, al contrario dei suoi simili, come PHP o JSP, non dispone di forze proprie per gestire determinate applicazioni, in questo caso per la gestione della posta elettronica. A pro di questo è stato creato l'oggetto ActiveX CDONTS (acronimo di Collaboration Data Object for Windows NT Server).

CDONTS è una libreria di nome cdonts.dll, si trova di default su tutti i server Web di tipo Windows NT e 2000 nella cartella
C:\WINNT\system32\cdonts.dll
Trattandosi di una dll non è necessaria l'installazione, ma solo la copia del file all'interno della sua directory di sistema; per registrarla è necessario eseguire dal prompt di MS DOS (o da Start / Esegui) il comando
regsvr32 cdonts.dll
A questo punto è necessario riavviare il sistema anche se non esplicitamente richiesto.

Trattandosi di un ActiveX, è possibile istanziare il componente con la classica dichiarazione, generando la classe CDONTS.NewMail
Dim MyMail
Set MyMail = Server.CreateObject("CDONTS.NewMail")
La classe CDONTS.NewMail è la più utilizzata nell'ambito delle applicazioni ASP, il suo scopo è quello di catturare le funzionalità di un server SMTP e di sfruttarle in quanto tali.

Detta classe dispone di 12 proprietà e 4 metodi, esaminiamo i principali:

Proprietà
Bcc Specifica i destinatari invisibili che riceveranno la mail per conoscenza
Body Specifica il corpo della mail
BodyFormat Specifica il formato del corpo dell'email, 0 = Html, 1 = semplice testo
Cc Specifica i destinatari visibili che riceveranno la mail per conoscenza
From Specifica il mittente dell'email.
Importance Specifica l'importanza dell'email, 0 = bassa, 1 = media, 2 = alta
MailFormat Specifica il formato dell'email, 0 = MIME, 1 = semplice testo
Subject Specifica l'oggetto dell'email
To Specifica il destinatario dell'email

Metodi
AttachFile * Aggiunge un allegato all'email
AttachURL Aggiunge al corpo dell'email l'Url dell'allegato qualora ve ne fosse uno
Send Invia l'email a CDONTS che si occuperà di elaborarla ed inviarla

Nota: AttachFile * - L'invio di un allegato non è semplice come si può pensare, non basta utilizzare questo metodo per inviare, o lasciarsi inviare allegati, è necessario che il file sia presente sul server, per fare questo è necessario effettuare separatamente l'upload.

Mettiamo adesso in pratica questi concetti e creiamo un modulo di invio email in una pagina ASP che chiameremo email.asp. Segue il codice dell'applicazione
<%@LANGUAGE = VBScript%>
<html>
<body>

<form method="post" action="email.asp">
    Nome e Cognome<br>
    <input type="text" name="nome"><br>
    Email<br>
    <input type="text" name="email"><br>
    Messaggio<br>
    <textarea name="messaggio" rows="5" cols="30"></textarea>
    <br><br>
    <input type="submit" name="invia" value="Invia">
</form>

<%
    If Request.Form("invia") <> "" Then
        Dim nome, email, messaggio
        nome = Request.Form("nome")
        email = Request.Form("email")
        messaggio = Request.Form("messaggio")
        Dim MyMail
        Set MyMail = Server.CreateObject("CDONTS.NewMail")
        With MyMail
            .To = "tua@mail.ext" ' Qui la tua email
            .From = email
            .Subject = "Messaggio da " & nome
            .Body = messaggio
            .Send
        End With
        Set MyMail = Nothing
        Response.Write "Email inviata con successo!"
    End If
%>

</body>
</html>
Lo script non è corredato di un controllo dei campi: è opportuno integrarne uno con ASP o con Javascript, o magari con entrambi.

© 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Disclaimer | Privacy | Pubblicità | Supportaci | Staff | Contatti
  Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | AlVerde.net | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones