Envio de correo utilizando CDONTS

En este taller practicará el envío de mensajes de correo desde una página ASP. Para ello utilizará el objeto CDONTS que se incluye con el Sistema operativo NT versión 4.0.

Descripción del objeto CDONTS

CDONTS (Collaboration Data Objects for NT) es un componente que permite enviar mensajes de correo electrónico desde las páginas ASP.

Como su nombre indica está disponible en servidores NT y en particular a partir de la versión 4.0. ya que para versiones anteriores se utilizaba el componente SendMail

Entre algunas de sus características más importantes está la posibilidad de enviar mensajes en formato de texto o bien HTML.

Para utilizar CDO se requiere que esté instalado y operativo un servicio SMTP (Simple Mail Transfer Protocol) ya sea en la propio servidor o en otro servidor de la red local. SMTP es instalado por defecto con IIS 4.0 y puede aceder a sus propiedades desde la cónsola de administración de IIS.

Instrucciones necesarias en la creación y envio de mensajes

Creación del objeto

    Set mailobj = Server.CreateObject("CDONTS.NewMail")

Formato del mensaje (texto o HTML)

    mailobj.mailFormat = 0
    mailobj.bodyFormat = 0

Propiedades del correo

    
    mailobj.from = "[email protected]"
    mailobj.to = "[email protected]"
    mailobj.subject = "saludos"
    mailobj.body = "Hola, este es un mensaje enviado desde una página ASP"

Acción de enviar el mensaje (deben haberse inicializado las anteriores variables)

    mailobj.send

Acción de enviar el mensaje

    
    myCDO.Send "[email protected]", "[email protected]","Saludos",_
               "Hola, este es un mensaje enviado desde una página ASP"

Otras propiedades

Entre otras propiedades interesantes que pueden tener los mensajes enviados con CDONTS destaca el parámetro importancia, ficheros adjuntos, o codificación MIME del mensaje.

En el caso de adjuntar ficheros (atachment), éstos deben estar localizados en unidades accesibles por el servidor y no por el cliente o navegador).

Ejemplo

Página de construcción del mensaje

Ejemplo de página de construcción del mensaje

<HTML>
<BODY>
<H1>Creación del mensaje</H1>
<FORM ACTION="enviar.asp" METHOD="POST">
<TABLE>
 <TR>
  <TD ALIGN="RIGHT">Para:</TD>
  <TD><INPUT TYPE="TEXT" SIZE="30" NAME="destinatario"></TD>
 </TR>
 <TR>
  <TD ALIGN="RIGHT">De:</TD>
  <TD><INPUT TYPE="TEXT" SIZE="30" NAME="remitente"></TD>
 </TR>
 <TR>
  <TD ALIGN="RIGHT" NOWRAP>Asunto:</TD>
  <TD ALIGN="LEFT">
    <INPUT TYPE="TEXT" SIZE="67" NAME="asunto">
  </TD>
 </TR>
</TABLE>
<TABLE>
 <TR>
  <TD VALIGN="TOP" ALIGN="RIGHT" NOWRAP>Texto del mensaje:</TD>
  <TD ALIGN="LEFT" NOWRAP>
   <TEXTAREA WRAP="OFF" ROWS="7" COLS="50" NAME="cuerpo"></TEXTAREA> 
  </TD>
 </TR>
</TABLE>
<INPUT TYPE="RESET" NAME="Cancelar" VALUE="Borrar"> &nbsp;
<INPUT TYPE="SUBMIT" NAME="Enviar" VALUE="Enviar">
</FORM>
</BODY>
</HTML>

Ejemplo de página ASP de envio del mensaje (enviar.asp)

<%
    Set mailobj = Server.CreateObject("CDONTS.NewMail")
    mailobj.mailFormat = 0
    mailobj.bodyFormat = 0
    mailobj.from = request.form("remitente")
    mailobj.to = request.form("destinatario")
    mailobj.subject = request.form("asunto")
    mailobj.body = request.form("cuerpo")
    mailobj.send
 %>

Otras utilidades del objeto CDONTS

Si bien el uso más extendido del objeto CDONTS es el envio de correo, también puede utilizarse para visualizar en páginas ASP los mensajes recibidos por el servidor de correo SMTP de nuestro servidor NT.

El siguiente código ilustra como leer los mensajes de la carpeta "Bandeja de entrada" de la cuenta del usuario "Administrador"

Lectura de mensajes recibidos

<%
'Identificación
    Set Correo = server.createobject("CDONTS.Session")
    Correo.logonSMTP "administrador" , _
    [email protected]"

'Acceder a la bandeja de entrada
    Set Bandeja = Correo.inbox

'Crear un objeto que almacene los mensajes de la bandeja anterior
    Set Mensajes = Bandeja.messages

'Recuperación de los mensajes
    For k = 0 to Mensajes.count
        Set elMensaje = Mensajes.item(k)
        'Obtener el nombre del remitente
        Response.write  "Desde: " & elMensaje.sender & "<br>
        'Obtener el asunto del mensaje
        Response.write  "Asunto: " & elMensaje.subject & "<br>"
        'Obtener el texto del mensaje
        Response.write  elMensaje.text  & "<br>"
    Next

'logoff
    Correo.logoff
    Set Correo = nothing
%>

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO