¿Cómo envío e-mails con ASP y CDO?
El siguiente ejemplo genera un formulario y realiza las operaciones necesarias para el envío de e-mails mediante ASP y CDO, en plataformas Microsoft Windows 2003.
El código para generar el formulario varía dependiendo de si contrataste un Servidor Dedicado o un Servidor Virtual VPS. Te ofrecemos a continuación los ejemplos para cada caso.
Si tienes un Servidor Dedicado.
%@LANGUAGE="VBSCRIPT" %>
<!-- Formulario para completar con los datos -->
<form action="test_mail.asp" method="POST">
Usuario smtp: <input type="text" value="" name="usuario"></input> <br />
(El usuario puede encontrarlo en el panel de control, E-mail, Administrar cuentas)<br/>
<br/>
Contraseña smtp: <input type="password" value="" name="passwd"></input><br/>
(La contraseña de su correo electronico)<br/>
<br/>
E-mail destinatario: <input type="text" name="destinatario" width="50"></input><br/>
<br/>
<input type="submit" value="Enviar e-mail" /><input type="hidden" name="enviar" value="1"/><br/>
</form>
<!-- Fin Formulario para completar con los datos -->
<%
' Se verifica que los datos han sido enviados desde el formulario, para la validacion con el SMTP
If Request("enviar") = 1 Then
If Not Request("usuario") = "" And Not Request("passwd") = "" And Not Request("destinatario") = "" Then
' Se crean los objetos necesarios para el envio del correo
Set oMail = Server.CreateObject("CDO.Message")
Set iConf = Server.CreateObject("CDO.Configuration")
' Se configuran los parametros necesarios para el envio
iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
' Se completan los datos del usuario y la contraseña necesarios para el envio
iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = Request("usuario")
'usuario smtp
iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Request("passwd")
'password para STMP
iConf.Fields.Update
' Se asignan las propiedades de configuracion al objeto
Set oMail.Configuration = iConf
' Destinatario del correo
oMail.To = Request("destinatario")
' Remitente del correo
oMail.From = Request("usuario")
' Subject o asunto
oMail.Subject = "E-mail de prueba"
' Cuerpo del mensaje
oMail.TextBody = "Este es un e-mail enviado desde la pagina de ejemplo de Ferozo Windows Edition"
' Se envia el correo
oMail.Send
' Se destruyen los objetos
Set iConf = Nothing
Set oMail = Nothing
Else
' Respuesta en caso de que no se completen todos los datos
Response.Write("Complete todos los campos para ejecutar el ejemplo")
End If
End If
%>
Si tienes un Servidor Virtual VPS.
<%@LANGUAGE="VBSCRIPT" %>
<form action="test_mail.asp" method="POST">
Texto del mensaje: <br /> <TEXTAREA NAME="texto" ROWS="10" COLS="50"> </TEXTAREA> <br />
<br />
<input type="submit" value="Enviar e-mail" /><input type="hidden" name="enviar" value="1"/>
</form>
<%
' Se verifica que los datos han sido enviados desde el formulario, para la validacion con el SMTP
If Request("enviar") = 1 Then
' Se crean los objetos necesarios para el envio del correo
Set oMail = Server.CreateObject("CDO.Message")
Set iConf = Server.CreateObject("CDO.Configuration")
' Se configuran los parametros necesarios para el envio
iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
iConf.Fields.Update
' Se asignan las propiedades de configuracion al objeto
Set oMail.Configuration = iConf
' Destinatario del correo
' TODO: reemplazar "cuenta@dominio.com" por la cuenta del destinatario del formulario
oMail.To = "cuenta@dominio.com"
' Remitente del correo
' TODO: Reemplazar "cuenta@dominio.com" por una cuenta de correo valida de la cuenta de hosting
oMail.From = "cuenta@dominio.com"
' Subject o asunto
oMail.Subject = "E-mail de prueba"
' Cuerpo del mensaje
oMail.TextBody = "Este es un e-mail enviado desde la pagina de ejemplo de Ferozo Windows Edition" + vbCrLf + vbCrLf + Request("texto")
' Se envia el correo
oMail.Send
' Se destruyen los objetos
Set iConf = Nothing
Set oMail = Nothing
End If
%>
