Mailings con ASP y ficheros

Ismael Caballero nos muestra una variación de su tutorial para enviar mailings con tecnología asp y ficheros (sin necesidad de base de datos)

Desarrollo de un sistema de envío de correos utilizado ficheros.

 

1- INTRODUCCIÓN

A continuación pasaré a describir el proceso de realización de un sistema para el envío de correos (mailings) de forma automática y sin necesitad de ningún gestor o programa adicional, basado en la gestión de ficheros de texto.

Esta aplicación será de gran utilidad para todas aquellas personas que no dispongan de un sistema de bases de datos.

Para el desarrollo de esta aplicación utilizaremos el componente filesystemobject que gestionará la información existente en los ficheros.

Los pasos a seguir para este desarrollo son:

  • Diseñar y maquetar el mailing que se desea enviar en formato html.
  • Creación de archivo txt que servirá de «bbdd» de usuarios.
  • Desarrollo, configuración y ejecución de la página de envío de mailings.

 

2- IMPLEMENTACIÓN DEL SISTEMA

2.1- Diseñar y maquetar el mailing en html que se desea enviar.

Es necesario diseñar y maquetar una página en html que nos servirá de mailing para enviar a nuestros usuarios, estos mailing pueden contener múltiples elementos gráficos, textos, flash, … todos ellos deberán tener sus rutas puestas de modo absoluto al dominio, es decir, todas los elementos deben incluir como http://www.dominio/img/1.gif por ejemplo, nunca de forma relativa, por ejemplo: /img/1.gif, para que en los gestores de correo (outlook, pegasus, eudora, …) se presenten correctamente.

Hay miles de consejos de marketing para la realización de estos mailings (correos llamativos, creativos, originales, directos, de poco tamaño, …), en fin LA IMAGINACIÓN AL PODER!!!

Para este ejemplo utilizaremos el siguiente modelo.

El código de este ejemplo es el siguiente:


<HTML>
<HEAD>
<TITLE>Correo de prueba – Carixma</TITLE>
</HEAD>
<BODY bgColor=#cccccc background=»http://www.carixma.com/img/tutoriales/fondo.gif» NOSEND=»1″ link=»#075878″ vlink=»#9999FF»>
<br>
<TABLE cellSpacing=0 cellPadding=2 width=479 align=center bgColor=#000000 border=0 height=»301″>
<TR>
<TD Align=»Center»>
<TABLE cellSpacing=0 cellPadding=10 bgColor=#ffffff border=0>
<TR>
<TD>
<TABLE width=»729″ height=»262″ BORDER=»1″ align=»left»>
<TR>
<TD valign=top width=»729″ height=»294″>

<br>
<B><center><FONT face=»Trebuchet MS, Verdana, Arial» color=»#075878″ size=5>MAILING DE PRUEBA</Font></center></B><br>
<FONT Face=»Verdana» size=2>
<p align=center> No cree en el destino? Hoy es su día de suerte, ha encontrado el mejor tutorial del mundo!!!<br><br><br><br><br></p>
<p align=»left»> <font size=»4″ color=»#0000ff»><b>CARIXMA.COM</b></font><font size=»4″ color=»#000000″><b>, SERVICIOS PARA LOS PROFESIONALES Y PYMES</b></p>
</font>
<hr>
<FONT Face=»Verdana» size=2><p align=»left»>Pulse <a href=»http://www.carixma.com» target=»_blank»>aquí</a> para disponer de infinidad de recursos y utilidades.</b><br></p></font>
</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD height=»14″>
<table cellspacing=0 cellpadding=3 width=»100%» border=0 bordercolor=»#0000CC»>
<tr><td width=»70%» bgcolor=#075878 height=»17″ align=»left»><br><br></td></tr>
</table>
</TD>
</TR>
</TABLE>
</BODY>
<>/HTML>

Para descargártelo pulsa aquí.

 

2.2- Creación de archivo txt que servirá de «bbdd» de usuarios.

Se necesita preparar un fichero de texto con la información de nuestros usuarios utilizando cualquier editor existente (NotePad, TextPad, …), para este ejemplo sólo utilizaremos la dirección de correo, este proceso se puede hacer de múltiples maneras, dependiendo del archivo origen de los datos de usuarios, si se tiene una base de datos Access local, se puede realizar una consulta para conseguir los usuarios a los que deseamos enviar el correo y simplemente copiando y pegando ya tendríamos el fichero necesario.

El formato para este ejemplo será el siguiente, se deben poner los datos de un cada usuario en una línea separada:

Para descargártelo pulsa aquí.

 

2.3- Desarrollo, configuración y ejecución de la página de envío de mailings.

Finalmente, se desarrolla una página asp que se encarga de gestionar esta información y de enviar los correos.

Para el envío de estos correos será necesario crear en el site una carpeta que se llamará «mailings» donde copiaremos el archivo emails.txt.

Para enviar estos correos se pueden utilizar dos componentes: SMTPsvgr o CDonts, dependiendo del sistema que se tenga instalado en el servidor, a continuación presentamos los códigos disponibles con ambos ejemplos, en estos archivos existe una variable «Cuerpo» donde debemos incluir el código del mailing realizado anteriormente, sustituyendo las dobles comillas («), por una comilla simple (‘) para evitar problemas en el envío.

El código de estos ejemplos son los siguientes:

Código de la página que utiliza Cdonts, para la gestión de los correos.

<%
Session.Timeout = 90
Server.ScriptTimeout = 360 ‘6 minutos

‘Gestión del archivo de correos
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set FileObject = CreateObject(«Scripting.FileSystemObject»)
sFichero = Request.ServerVariables(«APPL_PHYSICAL_PATH») & «mailings» & a & «\emails.txt»
Set InStream = FileObject.OpenTextFile(sFichero, ForReading)

Contador = 0
Do While Not InStream.AtEndOfStream
Email = InStream.ReadLine

‘Envio de correo
Set Mailer = server.CreateObject(«CDonts.NewMail»)
Mailer.From = «info@dominio.es»
Mailer.To = Email
Mailer.Subject = «Publicidad: Envío de correo de prueba.»
Mailer.MailFormat = 0 ‘ Html
Mailer.BodyFormat = 0 ‘ Html

Cuerpo = «<HTML><HEAD><TITLE>Correo de prueba – Carixma</TITLE></HEAD><BODY bgColor=#cccccc background=’http://www.carixma.com/img/tutoriales/fondo.gif’ NOSEND=’1′ link=’#075878′ vlink=’#9999FF’><br><TABLE cellSpacing=0 cellPadding=2 width=479 align=center bgColor=#000000 border=0 height=’301′><TR><TD Align=’Center’><TABLE cellSpacing=0 cellPadding=10 bgColor=#ffffff border=0><TR><TD><TABLE width=’729′ height=’262′ BORDER=’1′ align=’center’><TR>»

Cuerpo = Cuerpo & «<TD valign=top width=’729′ height=’294′><br><B><center><FONT face=’Trebuchet MS, Verdana, Arial’ color=’#075878′ size=5>MAILING DE PRUEBA</Font></center></B><br><FONT Face=’Verdana’ size=2><p align=center> No cree en el destino? Hoy es su día de suerte, ha encontrado el mejor tutorial del mundo!!!<br><br><br><br><br></p><p align=’center’> <font size=’4′ color=’#0000ff’><b>CARIXMA.COM</b></font><font size=’4′ color=’#000000′><b>, SERVICIOS PARA LOS PROFESIONALES Y PYMES</b></p></font><hr><FONT Face=’Verdana’ size=2><p align=’center’>Pulse <a href=’http://www.carixma.com’ target=’_blank’>aquí</a> para disponer de infinidad de recursos y utilidades.</b><br></p></font></TD></TR></TABLE></TD></TR></TABLE></TD></TR><TR><TD height=’14’>»

Cuerpo = Cuerpo & «<table cellspacing=0 cellpadding=3 width=’100%’ border=0 bordercolor=’#0000CC’><tr><td width=’70%’ bgcolor=#075878 height=’17’ align=’center’><br><br></td></tr></table></TD></TR></TABLE></BODY></HTML>»

Mailer.Body = Cuerpo

If Mailer.Send Then
ok = true
Contador = Contador + 1
else
ok = false
sError = Email
End if
Loop

InStream.Close
Set InStream = Nothing
Set FileObject = Nothing
Set Mailer = Nothing

if ok = true then
response.write «Enviados: » & Contador & » correos.»
else
response.write «Se ha produccido un error en el proceso de enviado en el correo: » & sError
end if
%>

Código de la página que utiliza SMTPsvg, para la gestión de los correos.

<%
Session.Timeout = 90
Server.ScriptTimeout = 360 ‘6 minutos

‘Gestión del archivo de correos
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set FileObject = CreateObject(«Scripting.FileSystemObject»)
sFichero = Request.ServerVariables(«APPL_PHYSICAL_PATH») & «mailings» & a & «\emails.txt»
Set InStream = FileObject.OpenTextFile(sFichero, ForReading)

Contador = 0
Do While Not InStream.AtEndOfStream
Email = InStream.ReadLine

‘Envio de correo
Set Mailer = Server.CreateObject(«SMTPsvg.Mailer»)
Mailer.RemoteHost = «smtp.dominio.com»
Mailer.AddRecipient «Usuario», Email
Mailer.Charset = 2 ‘Utilizamos UNICODE
Mailer.ContentType = «text/html»
Mailer.FromName = «Publi»
Mailer.FromAddress = «info@dominio.com»
Mailer.Subject = «Publicidad: Envío de correo de prueba.»

Cuerpo = «<HTML><HEAD><TITLE>Correo de prueba – Carixma</TITLE></HEAD><BODY bgColor=#cccccc background=’http://www.carixma.com/img/tutoriales/fondo.gif’ NOSEND=’1′ link=’#075878′ vlink=’#9999FF’><br><TABLE cellSpacing=0 cellPadding=2 width=479 align=center bgColor=#000000 border=0 height=’301′><TR><TD Align=’Center’><TABLE cellSpacing=0 cellPadding=10 bgColor=#ffffff border=0><TR><TD><TABLE width=’729′ height=’262′ BORDER=’1′ align=’center’><TR>»

Cuerpo = Cuerpo & «<TD valign=top width=’729′ height=’294′><br><B><center><FONT face=’Trebuchet MS, Verdana, Arial’ color=’#075878′ size=5>MAILING DE PRUEBA</Font></center></B><br><FONT Face=’Verdana’ size=2><p align=center> No cree en el destino? Hoy es su día de suerte, ha encontrado el mejor tutorial del mundo!!!<br><br><br><br><br></p><p align=’center’> <font size=’4′ color=’#0000ff’><b>CARIXMA.COM</b></font><font size=’4′ color=’#000000′><b>, SERVICIOS PARA LOS PROFESIONALES Y PYMES</b></p></font><hr><FONT Face=’Verdana’ size=2><p align=’center’>Pulse <a href=’http://www.carixma.com’ target=’_blank’>aquí</a> para disponer de infinidad de recursos y utilidades.</b><br></p></font></TD></TR></TABLE></TD></TR></TABLE></TD></TR><TR><TD height=’14’>»

Cuerpo = Cuerpo & «<table cellspacing=0 cellpadding=3 width=’100%’ border=0 bordercolor=’#0000CC’><tr><td width=’70%’ bgcolor=#075878 height=’17’ align=’center’><br><br></td></tr></table></TD></TR></TABLE></BODY></HTML>»

Mailer.BodyText = Cuerpo

If Mailer.SendMail Then
ok = true
Contador = Contador + 1
else
ok = false
sError = Email
End if
Loop

InStream.Close
Set InStream = Nothing
Set FileObject = Nothing
Set Mailer = Nothing

if ok = true then
response.write «Enviados: » & Contador & » correos.»
else
response.write «Se ha produccido un error en el proceso de enviado en el correo: » & sError
end if
%>

Descripción del proceso: Inicialmente se utilizan las siguientes variables para controlar el tiempo máximo de ejecución de la página: Session.Timeout y Server.ScriptTimeout, seguidamente se gestiona mediante el componente Scripting.FileSystemObject el fichero con los correos de los usuarios y finalmente mediante el objeto CDonts o SMTPsvg se configuran los correos a enviar.

Descargar Fichero SMTPsvgr    –    Descargar Fichero CDonts

Los archivos .asp de estos ficheros, se debe colocar en la carpeta «mailings» del servidor y ejecutarlos (http://www.dominio.com/mailings/smtpsvg.asp ó http://www.dominio.com/mailings/cdonts.asp), si todo va bien se presentará el número de mailings enviado.

Es aconsejable hacer grupos de envíos de unos 100 correos aproximadamente, cada vez que se ejecute la página, dependiendo de la velocidad de ejecución de nuestro sistema.

 

Espero que os haya servido de ayuda.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad

Información básica acerca de la protección de datos

  • Responsable: IZERTIS S.A.
  • Finalidad: Envío información de carácter administrativa, técnica, organizativa y/o comercial sobre los productos y servicios sobre los que se nos consulta.
  • Legitimación: Consentimiento del interesado
  • Destinatarios: Otras empresas del Grupo IZERTIS. Encargados del tratamiento.
  • Derechos: Acceso, rectificación, supresión, cancelación, limitación y portabilidad de los datos.
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad

¿Quieres publicar en Adictos al trabajo?

Te puede interesar

30/10/2025

Benjamín Suárez Menéndez

El Complex Problem Solving (CPS) es un proceso estructurado basado en herramientas, técnicas y actitudes que nos facilita la resolución de problemas complejos.

03/10/2025

Miguel García Rodríguez

Descubre cómo el diseño y la psicología del comportamiento utilizan sesgos cognitivos para influir en la toma de decisiones de los usuarios y potenciar la persuasión.

30/09/2025

Iván García Sainz-Aja

En este artículo exploraremos cómo utilizar ZenWave360 para generar un proyecto completo de Spring Boot con Kotlin a partir de un modelo DSL de Lenguaje Ubicuo.