Configuración de Correos en SQL Server para Notificaciones
El servicio de correos nos va a ayudar principalmente para notificaciones por eventos generados en nuestro servidor, ya sea para reportar sobre errores, procesos como backups, algún procedimiento almacenado ejecutado o cualquier proceso que queramos tener controlado. En realidad es muy útil, yo lo utilizo a diario.
Configuración
Creación del perfil. En el asistente buscamos Database Mail y seleccionamos Configurar. En la siguiente pantalla nos va a indicar que debemos crear el perfil inicial.
En la siguiente pantalla nos va a preguntar si queremos habilitar el servicio de correo, le indicamos que sí y continuamos.
Comenzamos a llenar los datos para el perfil, y seleccionamos Add, para configurar la cuenta de correo asociada.
Llenamos todos los campos requeridos y seleccionamos OK. Cuando se cierra la pantalla de la cuenta de correo, continuamos con el proceso, seleccionamos Next en las siguientes tres pantallas.
Ahora que tenemos el perfil creado, continuamos con la creación del correo electrónico.
sp_configure 'show advanced',1GORECONFIGUREGOsp_configure 'Database Mail XPs',1GORECONFIGUREGO
Ejecutamos el query para configurar el servicio.
En el último paso probamos el servicio y enviamos un correo.
USE msdb
GOEXEC sp_send_dbmail @profile_name='Roy Rojas',@recipients='[micorreo@gmail.com](mailto:micorreo@gmail.com)',@subject='Mensaje de prueba',@body='Felicidades ya puedes enviar correos
desde tu base de datos'
Felicidades, ya tienes configurado tu servidor de correos en SQL Server.
Es un servicio fundamental y se deben crear alerts
Debe controlar y recibir alertas de los niveles de gravedad 17 a 25.
Los niveles de gravedad del 17 al 19 requerirán la intervención de un DBA, no son tan graves como 20-25, pero el DBA debe ser alertado.
17 Recursos insuficientes
18 Error interno no fatal detectado
19 Error en el recurso
Estos son errores graves que significarán que SQL Server ya no funciona
20 Error de SQL en el proceso actual
21 Error fatal de SQL en procesos dbid de base de datos
22 Sospecha de integridad de tabla de error fatal de SQL
23 Error fatal de SQL: sospechoso de integridad de la base de datos
24,25 Error de hardware
Es necesario crear 1 alerta por cada nivel de gravedad, o con 1-única alerta la base de datos puede notificar las gravedades de 17 a 25?
Para los que tengan problemas usando el correo de gmail, se debe a que cambiaron las políticas de gmail respecto a usar aplicaciones de terceros menos seguras clic aquí
A mi me funcionó usando hotmail u outlook, donde el servidor es: "smtp-mail .outlook.com" (Sin importar si el correo es hotmail u outlook)
Hola Team, obtuve el siguiente error, "El servidor SMTP requiere una conexión segura o el cliente no se autenticó. La respuesta del servidor fue: 5.7.0 Authentication Required. Learn more at"
La solución fue entrar a la configuración de mi cuenta de gmail y crear una contraseña de aplicación para mi cuenta de correo, espero les sea de utilidad ;)
Como la usas? a mi me sigue marcando error
El procedimiento EXEC sp_send_dbmail se debe ejecutar en la base de datos msdb. Esta base de datos es donde se configura y gestiona el servicio de correo en SQL Server, incluyendo el envío de correos electrónicos a través de Database Mail. Asegúrate de tener el perfil de correo correcto configurado antes de ejecutar este comando.
Tengo el siguiente problema al enviar un correo electrónico:
The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 1 (2021-02-20T09:45:07). Exception Message: Cannot send mails to mail server. (Failure sending mail.). )
Gracias
Cuando el correo queda en la cola, en que momento se envía?
Cuando da el mensaje de "Correo en cola" quiere decir que si no hay mensajes por enviar se estará enviando tu correo, si no tardara un poco mas hasta enviar todos los mensajes que tenga pendientes.
¿Es necesario crear 1 alerta por cada nivel de gravedad, o con 1-única alerta la base de datos puede notificar las gravedades de 17 a 25?
Al final no hay una respuesta correcta, va a quedar a tu gusto.
A mi me gusta tener una alerca por caso. Pero es por que asi me funciona y me gusta, gusto. Prueba varias opciones y con la que te sientas mejor, esa es la correcta.
Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_profile_sp, Line 42 [Batch Start Line 16]
profile name is not valid
arriba te di respuesta
Intente hacer un envio de un email desde un trigger, pero genero conflicto con jobs que hacen llamado a la ejecución de ETLs de SSIS , alguna idea de porque se pudo ocasionar esto? por favor
¿para que me serviria tener un database mail? denme ideas por favor
Buenas gente , a mi no me aparece DATABASE MAIL , debo instalarlo o algo ?, o es para algunas versiones ??
Cual es el error que te retorna?
Hola a todos una consulta, ¿qué se podría hacer si uno no tiene la opción DatabaseMail será la versión del SQL (tengo 2017)?
¿Cómo se puede activar?
por favor repasar la clase minuto 10
Hola, esto no esta disponible en versiones express, en las demás si.
Hola a todos alguien podría ayudarme me sale el siguiente mensaje de error en el log al enviar un correo:
No se puede conectar con el servidor de correo. (Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder 52.96.165.34:465)
es probable que el servidor de correos donde quieras conectarte no tenga los permisos requeridos, debes revisar la conexion, o ver la documentacion del servidor de correos y como se debe configurar el imap o pop, puede ser que utilizan algn puerto en especial
En SQL Server, puedes enviar correos electrónicos con contenido HTML en el cuerpo del mensaje. A continuación, se muestra un ejemplo de cómo hacerlo utilizando el procedimiento almacenado sp_send_dbmail:
USE msdb
GO
EXEC sp_send_dbmail
@profile_name='Roy Rojas',@recipients='destinatario@example.com',@subject='Mensaje HTML de Prueba',@body='<h2>Felicidades</h2><p>Ya puedes enviar correos <strong>HTML</strong> desde tu base de datos.</p>',@body_format='HTML';
Este código envía un correo con contenido HTML, lo que te permite personalizar el formato del mensaje.
sp_configure 'show advanced', 1 -->NECESARIO PARA HABILITAR LA VISUALIZACIÓN Y MODIFICACIÓN DE OPCIONES AVANZADAS
sp_configure 'Database Mail XPs', 1 --> HABILITAR EL SERVICIO DE MAIL
sp_configure --> Listar opciones
sp_configure 'show advanced', 0 -->RECOMENDADO DESPUÉS DE LA MODIFICACIÓN DE OPCIONES
sp_send_dbmail -->PROCEDIMIENTO DE MSDB DATABASE PARA ENVÍO DE EMAIL
Configurar la base de datos del correo en SQL Server.