Muchas veces nos encontramos en la tarea de realizar una campaña agresiva de mailing, y de hecho hay diversas opciones, sin embargo con SQL server podemos quizá darle algún valor añadido, dada la simplicidad e inteligencia al momento de envió de emails, los mismo que lógicamente pueden estar en tablas de nuestra misma BD y de esta manera podemos programar envíos, saludos, novedades,
PASO 1: Configurar nuestro servidor: en la parte de Management + Database Mail Clic derecho y seleccionar la opción Configure Database Mail
Ahora en la pantalla Database Mail Configuration Wizarda Seleccionamos la primera opción de configuración y Siguiente (next)
Escribimos el nombre y decripcion del perfil a crear, recordemos que podemos tener mas de un perfil, y Clic en el boton Add (agregar) y posteriormente en Next (Siguiente )
En esta pantalla ingresamos los campos pertinentes, tales como:
Nombre de nuestra cuenta anteriormente, Dirección de email a usar para envíos, SERVER NAME, y credenciales, como verán por defecto tenemos seleccionado a puerto 25 y demás opciones según el escenario, este es un escenario básico.
..
Next (siguiente)
Como veremos ya tenemos creado uestro Profile, le damos en Next
Ahora tenemos una Ultima configuración, y quizá una de las as sensibles (luego del nombre de email, password y servidor claro está )
Aquí podemos configurar el numero de intentos , el tiempo en que se dan el tamaño máximo y cosas por el estilo
Next y Finish …
PASO 2: PROBANDO ENVIO
Realizar una prueba es sencilla, basta con seleccionar la opción Send Text E-Mail
Darle la dirección de email a enviar y listo Send Test E-Mail:
Por ultimo solo revisar nuestra bandeja ¡!
Ahora el lio es que si llega a la bandeja de NO DSEADOS, ese ya es otro asunto que trataremos en un siguiente post.
Lo importante es que con esta funcionabilidad de SQL server podemos enviar emails a todos nuestros contactos dependiendo de la lógica que estimemos conveniente.
PASO 3. FORMA DE INVOCAR EL ENVIO:
Solo realizamos una nueva consuta desde SQL Server y listo !!!
EXEC msdb.dbo.sp_send_dbmail @profile_name=‘Perfilsuscriptores’ ,
@recipients= ‘nombre@hotmail.com’,
@subject= ‘Prueba de envio esde SQL Server R2’,
@body= ‘Aqui va el contenido o cuerpo del e-mail’
Obviamente estamos ahora preparados para enviar correos a nuestros suscriptores (ojo no dije SPAM, y no jueguen con esto sino banearan sus cuentas), desde SQL Server R2
Algunos links, que pueden revisar:
http://msdn.microsoft.com/es-es/library/ms189505.aspx
http://msdn.microsoft.com/en-us/library/ms190307.aspx
http://technet.microsoft.com/es-es/library/ms190658.aspx
https://partner.microsoft.com/argentina/40088754
Saludos
John Suarez
como siempre ingenioso, XD , es verdad la simplicidad ayuda en la mayoria de veces.
muy buena salida para los problemas y retos tecnologicos el mailing es administrado muy bien por SQLServer. bien jugado Ing Jhon Suarez
Hola, no funcionó esto, creo que el problema es la configuración del servidor de mi empresa. Por favor dime cómo borro la configuración del Database Mail que acabo de crear??
Gracias!!
Si lo estas haciendo desde tu empresa e snormal que sucedan estas cosas, debes hablar con el administrador de REd., es cuestion de politicas de seguridad, seria bueno que te abra los puertos pertinentes.
Ahora si quieres solo debes suprimir lo creado
salu2
JOhn
Ve el tema de los puertos con el administrador de RED
Hola, sabes si se puede hacer los mismo desde sql server 2008 Express?
Creo no tiene esa función, o alguna forma alterna?
Gracias de antemano, ya tienes mi correo espero, si no te lo doy.
Saludos!!
como veras en la siguiente tabla comparativa no contamos con Database mail:
http://technet.microsoft.com/en-us/library/cc645993.aspx.
no lo probe en una edicione xpress, sin embargo por la dcumentacion veo que no es posible, sin embargo SI hay salidas:
– Enviarlas usando un CLR Stored Procedure, aqui tienes un ejemplo: http://www.mssqltips.com/tip.asp?tip=1795
saludos
John Suarez.
gracias!!! me sirvió
muchas gracias, justo lo que estaba buscando.
Me alegra!
Me gustaria que hables un poco mas sobre los puertos ….que configuracion se deben de tener encuenta, antivirus, servicios, firewall, agente sql…etc..
Muchas Gracias Estimado,
Muy Buen aporte.
Slds
Hola
Interesante lo probe y me envia a todos los correos menos a los hotmail, Este es el error que me arroja
The mail could not be sent to the recipients because of the mail server failure. (Enviando mensaje de correo electrónico utilizando la cuenta 3 (2013-03-19T16:21:27). Mensaje de excepción: Cannot send mails to mail server. (Mailbox unavailable. The server response was: 5.1.1 The email account that you tried to reach does not exist. Please try). )
Aceptaria que el correo estuviese mas escrito pero da la casualidad que siempre falla con los correos hotmail, las otras extensiones si le envia el correo.
hola!
el mensaje es claro, aparentemente el email al que envías No sea valido o NO exista.
Lo que te digo, en la lista q envío hay 10 correos 5 hotmail 3 gmail y 2 yahoo y solo no envía a los hotmail y ya probe con correos hot válidos. No sera alguna configuración. Enviado desde mi BlackBerry de Claro.
Si eso es cierto!
Puede suceder que los servidores de correo de los cuales estas enviando, se encuentren baneados por el servidor de hotmail
Esto sucede siempre, sobre todo en cuentas rentadas de hosting, es un medio de defensa
Estimado
me funciono pero como puedo agregar una query para que se ejecute cada 5 min ?
me seria de mucha utilidad
Saludos
Hola
Te funciono para cualquier cuenta de correo, si deseas enviarlo cada 5 minutos elabora un job y alli ejecuta el sp que envia los correos elctronicos.
ufff excelente me saco del apuro muchas gracias !!!
interesante no sabia que se podia hacer eso con sql server, gracias amigo
Buen Día se te agradece mucho que me fue de mucha ayuda esto pero ahora tengo un problema tengo correos en espera pero quisiera saber como los libero. Gracias.
Hola, Buen Dia, como podria realizar el envio de emails de base de datos a una lista de distribucion ?
Muchas gracias por excelente articulo, muy conciso y con un amplio contenido, me gustaría seguir recibiendo estos articulos
Muy bueno, sin embargo no funciona para la versión Express, en este enlace encontraran como enviar el correo desde la versión Express de SQL Server.
http://geeks.ms/blogs/jpussacq/archive/2012/11/06/automatizar-el-env-237-o-de-correo-electr-243-nico-con-sql-server-parte-1.aspx
Lo probe y funciona bien.