Categorías destacadas
programacion php    
Artículo
1
¡votar!

 Envio de correo utilizando CDONTS

1 . Descripción del objeto CDONTS
2 . Instrucciones necesarias en la creación y envio de mensajes
3 . Ejemplo
4 . Otras utilidades del objeto 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 = "amorales@iname.com"
    mailobj.to = "jbravo@retemail.es"
    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 "amorales@iname.com", "jbravo@retemail.es","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" , _
    administrador@nombredominio.com"

'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
%>

   
Publicado por:
Walter Nieves
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon