Utilizzo della libreria CDOSYS per l'invio di email con Asp

Autore: Luca Ruggiero | Tell a Friend

eBook ASP base
Impara a creare siti dinamici con ASP e VBScript da zero!

Corso ASP
Impara a creare siti dinamici professionali con ASP!

E-Commerce con ASP
Impara a creare un sito di E-Commerce con carrello della spesa!

La nuova versione del famoso server Web della Microsoft è arrivato alla versione 6: abbiamo quindi IIS6. Tra le varie migliorie apportate, tra cui la configurazione in Xml ed una migliore gestione della cache del server stesso, è stato introdotto un nuovo componente che ha sostituito il buon vecchio CDONTS.

L'utilizzo di questo nuovo componente per la realizzazione di un form-mail o di altri servizi che sfruttano l'invio di email per vari scopi, non cambiano di una virgola, se non per pochissime sottigliezze. In questo Tip le analizzeremo nel dettaglio.

Prima cosa che cambia è l'instanziamento del componente per la creazione dell'oggetto che sfrutteremo per l'invio della mail; abbandoniamo la collezione CDONTS.NewMail per l'utilizzo della nuova collezione CDO.Message:

var oggetto_email = new ActiveXObject("COD.Message");
Altra piccole differenze consiste nel fatto che l'invio del corpo della mail non utilizza più la proprietà Body, ma è stata creata una differenziazione per la formattazione della mail in formato Html; le nuove proprietà, i cui nomi sono esplicativi, sono TextBody e HTMLBody: quest'ultima esegue in automatico la conversione del codice Html e lo restituisce in output già formattato e non più come stringa; non è più necessario, infatti, il settagio del tipo MIME.

Tanto per iniziare a farvi spratichire, copiate in maniera dogmatica il seguente codice ed includetelo in un file .asp di test:
<%@LANGUAGE = JScript%>
<%
    try
    {
        var oggetto_email = new ActiveXObject("CDO.Message");
            with (oggetto_email)
            {
                To = "destinatario@account.ext";
                From = "mittente@account.ext";
                Subject = "Benvenuto CDOSYS!";
                TextBody = "Speriamo di trovarci bene insieme :-)";
                Send();
            }
        Response.Write("Email inviata con successo!");
    }
    catch (e)
    {
        Response.Write("Impossibile creare l'oggetto!");
    }
%>
Per formattare il corpo della mail in Html sarà sufficiente sostituire la riga del TextBody con la seguente:
HTMLBody = "<b>Speriamo di trovarci bene insieme :-)</b>";
Altra differenza è nel metodo per l'invio di allegati, e solo nella nomenclatura: AttachFile() diventa AddAttachment().

IN EVIDENZA
HOT LINKS