Desarrollo de un sistema de envío de correos utilizado base de datos.
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 utilizando un sistema de base de datos (Microsoft SQL Server).
Los pasos a seguir para este desarrollo son:
- Diseñar y maquetar el mailing que se desea enviar en formato html.
- Diseñar y creación de tablas para el sistema de base de datos 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- Diseñar y creación de tablas para el sistema de base de datos de usuarios.
Se necesita preparar una tabla, la denominaremos (tblMailings) con la información de nuestros usuarios, para este ejemplo sólo necesitaremos tener la dirección de correo (campo EMail) de tipo varchar y un identificador de usuario (campo IdUser) de tipo int (identity), pero se puede hacer tan compleja como se precise añadiendo la dirección, teléfonos, …). El diseño de la tabla sería el siguiente:
El script correspondiente a esta tabla es:
CREATE TABLE [dbo].[mailings] ( [IdUser] [int] IDENTITY (1, 1) NOT NULL , [Email] [varchar] (150) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY] GO
ALTER TABLE [dbo].[mailings] WITH NOCHECK ADD |
2.3- Desarrollo, configuración y ejecución de la página de envío de mailings.
Finalmente, se desarrollan unas páginas asp que se encargan de seleccionar el rango de identificadores a los que enviar los mailings y de enviar los correos.
Para el envío de estos correos podemos 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. |
Página 1 (send_cdonts.asp): Página 2 (send_bd_cdonts.asp): Set Cnn = Server.CreateObject(«ADODB.Connection») if err.number <> 0 then sSQL = «select * from tblMailings where Iduser between » & request(«IdUserFirst») & » and » & request(«IdUserLast») & » Order by IdUser» Set rstSQL = Server.CreateObject(«ADODB.Recordset») 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 Mailer.Send Contador = Contador + 1 rstSQL.MoveNext response.write «Enviados: » & Contador & » correos.» ‘Cerramos los objetos |
Código de la página que utiliza SMTPsvg, para la gestión de los correos. |
Página 1 (send_smtpsvg.asp): Página 2 (send_bd_smtpsvg.asp): Set Cnn = Server.CreateObject(«ADODB.Connection») if err.number <> 0 then sSQL = «select * from tblMailings where Iduser between » & request(«IdUserFirst») & » and » & request(«IdUserLast») & » Order by IdUser» Set rstSQL = Server.CreateObject(«ADODB.Recordset») 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 Set Mailer = Nothing Contador = Contador + 1 rstSQL.MoveNext response.write «Enviados: » & Contador & » correos.» ‘Cerramos los objetos
|
Descripción del proceso: Inicialmente se presenta una página donde se solicita el rando de identificadores de usuarios a los que se desea enviar el mailing, una vez aceptados estos datos, en la siguiente página se comienza la gestión y envío, conectándose a la base de datos, y cargando una select que apunta a la tabla mailings para cargar aquellos registros que se desean recuperar 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 deben colocar en el servidor y ejecutarlos, por ejemplos en: (http://www.dominio.com/mailings/send_smtpsvg.asp ó http://www.dominio.com/mailings/send_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.