jueves, 6 de octubre de 2011

Configurando Database Mail

1.       Abrimos el SQL Server Management Studio.
2.       En el explorador de soluciones vamos a Management,  Database Mail,  click Derecho,  Configure Database Mail.
3.      Nos mostrara un asistente le damos siguiente.
4.      Aquí vamos a seleccionar la opción de configuración inicial.
Nos dira que no tenemos habilitado la opción de Database Mail, le diremos que si

 
5.       En la opción de New Profile,  vamos a especificar un nombre para el profile y agregar un servidor SMTP haciendo click en Add
6.       Vamos a configurar el servidor SMTP,  usaremos el servidor de correos de gmail, utilizando una cuenta normal de correo con sus respectivas credenciales.
7.       Una vez que configuramos la cuenta de SMTP,  procedemos al siguiente paso.  Definimos las políticas de seguridad, haciendo público o privado nuestro profile.

8.       En el siguiente paso vamos a configurar valores o parámetros del sistema, como numero de intentos al fallar el envio, la cantidad de tiempo que espera entre envíos, archivos Attach



9.   Finalmente le damos finalizar a nuestro asistente creando nuestro nuevo profile y configurando nuestra cuenta SMTP.
 
 
10.       Ahora probaremos nuestra configuración a ver si es la correcta.  Hacemos click derecho sobre Database Mail y seleccionamos la opción “Send E-mail Test”


  
11.       Verificamos si envio correctamente el correo,  click derecho sobre Database Mail  y seleccionamos “View database Mail Log”

12.       En mi correo personal ya tengo el correo que se envío hace 1 minuto atrás.
 


 
13.       Excelente,  una vez que tenemos probado nuestro server y cuenta SMTP, procederemos a enviar correos por medio de T-SQL.  Importante estar siempre dentro de la base msdb.
USE msdb

EXEC sp_send_dbmail @profile_name='profile01',
@recipients='juan.perez@hotmail.com',
@subject='Prueba de Envio de Correo por SQL Server',
@body='Este es el cuerpo del correo de prueba felicidades Database Mail funciona correctamente.'


14.       Podemos revisar la bitácora de correos enviados,  y bitácora de eventos en las siguientes tablas:

SELECT * FROM sysmail_mailitems
GO
SELECT * FROM sysmail_log





14 comentarios:

  1. Hola, he tratado de realizar este ejercicion, pero en mi sql server no aparece la opcion Database Mail en la carpeta Administrador..
    tengo SQL Server Management Studio R2 Instalado en español.

    como puedo activar esta opcion.

    ResponderEliminar
  2. Verifica la version del server al cual te conectas con SQL server Management Studio: en express no esta disponible. Ejecuta el siguiente comando:
    SELECT @@VERSION

    ResponderEliminar
  3. Ok, gracias
    ya verifique y mi version es la Express..
    Puedo hacerla con la sql server 2008 developer?

    ResponderEliminar
  4. Seguro, recuerda la Devolper es la misma Enterprise, que es la version full de sql, la diferencia es la licencia.

    ResponderEliminar
  5. hola:

    la verdad que ya hice todos esos pasos y no me envia los correos, se que da en la cola, pero no me los envia, que estara fallando, me podrias ayudar.

    ResponderEliminar
  6. le he tratado todo el dia, pero la verdad no he sido capaz, sera que no hace falta configurar algo mas a parte de esto.la verdad me ha parecido casi imposible enviarlo, hasta ahora no he conseguido enviar el primero.que pasara, porque siempre se queda en la lista de espera, hasta active el service broker, le puse el puerto 25, en el servidor de correo le puse smtp.gmail.com, con el ssl y la autenticacion basica. muchas gracias.

    ResponderEliminar
  7. Hola Jhoanna,

    La causa mas comun, es tu SMTP server, lo debes tener bloqueado por tu proveedor de internet. Prueba enviarlo desde otro SMTP o bien desde otra conexion de internet.

    Saludos,

    ResponderEliminar
  8. hola Bernardo, de que manera lo hago, te lo agradeceria infinitamente..., he visto que usan smtp.live.com en el puerto 25 para el servidor de correo de hotmail, la verdad no se mas, muchas gracias.

    ResponderEliminar
  9. me sale referencia a objeto no establecida como instancia de un objeto o databasemail process is shutting down.

    ResponderEliminar
  10. muchas gracias, sobre todo la parte de consultas sobre las tablas
    sysmail_mailitems y sysmail_log me fue muy util

    ResponderEliminar
  11. Hola Johanna tengo el mismo problema, lo solucionaste?

    ResponderEliminar
  12. al tratar de enviar un correo con sqlserver 2008, me esta presentando el siguiente log
    The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 5 (2016-02-10T17:53:28). Exception Message: Could not connect to mail server. (An attempt was made to access a socket in a way forbidden by its access permissions 64.78.61.127:25).

    Que puede ser?
    Les agradecere una respuesta.
    Saludos,

    ResponderEliminar
    Respuestas
    1. Tengo el mismo problema, que puede ser. Un buen tiempo todo estaba correcto, pero ahora los correos se marcan como "failed". Me han comentado que quizas se tenga que depurar la lista de email o algo así, alguien sabe de esto ?

      Eliminar