Database mail con cuentas de Office 365
El uso de alertas, es uno de los primeros pasos que debemos de tomar para poder alertarnos de problemas o alertas importantes sobre el estatus de la base de datos de manera pro-activa, aunque es posible llegar y en la mañana revisar el estado de nuestras instancias lamentablemente este método puede ser tardado y poco eficaz.
Para hacer esto lo mejor es configurar el "Database mail" para que nos envié correos electrónicos, existen documentos online que nos muestran como lograrlo por parte de Microsoft, o de contribuciones de la comunidad. Estos ya son un poco anticuados y aunque es posible que por firewall o situaciones de seguridad no sea posible usar el método aquí expuesto es la manera más fácil de lograrlo que conosco.
- Iniciamos el SSMS y nos conectamos a la instancia en cuestión y buscaos el Database Mail bajo el apartado de Managment.
- Al dar clic obtendremos la siguiente pantalla y damos un clic en siguiente.
- Si no tenemos una cuenta damos en siguiente para configurar las cuentas.
- Creamos un perfil, a este perfil podemos ligar un usuario, varios usuarios o listas de distribución (cuando tenemos más de un dba o responsable).
- Hacemos un clic en la Add (Agregar) y llenamos los datos, en caso de ser una cuenta de Office 365 el server siempre sera "smtp.office365.com" con el puerto 587.
- Es muy importante activar la seguridad SSL o la configuración fallara, lo demás son nuestra cuenta o lista de distribución.
- Es importante estar cocientes que la listas de distribución debe e estar configuradas para delegar los correos.
- Una vez hechos estos pasos ya podemos mandar correos, pero siempre es bueno probar que lo que hayamos implementado sirva, una manera es la forma gráfica, si vamos a la vista uno y damos clic derecho.
- Otra manera es por código como se muestra abajo.
USE msdb GO EXEC sp_send_dbmail @profile_name='DBA', @recipients='enriarg@live.com.mx', @subject='correo de prueba', @body='Enviando correo de prueba por medio de una cuenta de Office 365'
Cualquier duda o comentario no duden en contactarme por este medio o en @sqlferret en twitter.
Hola. Creo la conexión como indicas pero los correos no llegan. y me genera este error.
ResponderBorrarId. de registro 3560
Id. de proceso 11692
Id. de elemento de correo 6652
Modificado por última vez 26/09/2017 04:56:11 p.m.
Última modificación por sa
Mensaje
No se pudo enviar el mensaje de correo a los destinatarios a causa de un error del servidor de correo. (Enviando mensaje de correo electrónico utilizando la cuenta 8 (2017-09-26T16:56:11). Mensaje de excepción: 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 191.232.104.18:25).
Saludos,
BorrarMe podrias enviar un poco mas de informacion de tu configuracion para poder ayudarte.
Hola! estoy intentando configurar esto pero me sale el mismo error que te mencionaron más arriba.
ResponderBorrarMe podrías aclarar por favor que significa esto que colocas?
Es importante estar cocientes que la listas de distribución debe e estar configuradas para delegar los correos.
Gracias!!!!
Saludos necesito más informacion para poder proporcionarte ayuda, podrias mandarme a mi correo tu configuration y el error a enriarg@gmail.com
BorrarHola reporto que tengo el mismo error
ResponderBorrarLink del Visor de eventos: https://drive.google.com/file/d/14N_Lj5GWOqEHXA112MMOB19KnTRjcvHq/view?usp=drivesdk
Aclaro que cuando envio la pruebas este si lo hace pero cuando lo hace desde la misma base de dato registra el error antes mencionado
Lastimosamente esto no me ayuda mucho, que version de SQL Server tienes instalada y que version del .net framework.
BorrarLa version de SQL es 2019 y el .net Framework es el 4.5
BorrarMe alegra saber que lo pudiste resolver, agradesco la contribución para los otros usuarios.
BorrarHola he tratado de configurar una cuenta siguiendo tu tutorial pero presento un error Mensaje
ResponderBorrarNo se pudo enviar el mensaje de correo a los destinatarios a causa de un error del servidor de correo. (Enviando mensaje de correo electrónico utilizando la cuenta 3 (2020-12-15T18:43:33). Mensaje de excepción: No se pueden enviar los mensajes de correo al servidor de correo. (El servidor SMTP requiere una conexión segura o el cliente no se autenticó. La respuesta del servidor fue: 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM [SA9PR03CA0011.namprd03.prod.outlook.com]). Es un SQL server 2008 R2
2008 R2 ya no es soportado, es posible que necesites un token de seguridad por lo que dice no esta autentificado y lo esta mandando como un correo anonimo.
BorrarAmigo me paso lo mismo. Aquí esta una explicación del mismo Microsoft . No se si será permitido pero pegare el link.
Borrarhttps://answers.microsoft.com/en-us/msoffice/forum/msoffice_o365admin-mso_exchon-mso_o365b/office365-smtp-5757-smtp-client-was-not/b968d22c-a81d-4623-b13d-3605527d2cfc
Estimado tengo un sql 2008 r2 y no logro que salgan por office365 me dijeron que puder se un tema con los tls del servidor
ResponderBorrarCreo que lo que dijo Sander arriba es pertinente a tu problema, sé que existen multiples cambios tanto en el OS de esa época (2008 y 2012) y SQL y necesitas parcharlos a sus últimas versiones para poder usar TLS 1.2 que seguramente es lo que ocupas.
BorrarPero ve este documento de ellos.
https://answers.microsoft.com/en-us/msoffice/forum/msoffice_o365admin-mso_exchon-mso_o365b/office365-smtp-5757-smtp-client-was-not/b968d22c-a81d-4623-b13d-3605527d2cfc
Me disculpo comente como anonimo.
BorrarHola, mi nombre es Dulce estoy tratando de configurar mi database mail con port 587 de un servidor de mail de outlook, ya coloque bien las credenciales y todo y el log por lo que me muestra si enciende el proceso pero no envia los correos de prueba: Message
ResponderBorrarThe mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 1 (2025-09-19T08:51:21). Exception Message: Cannot send mails to mail server. (Error al enviar correo.).). Siento que mas bien es detalle de nuestro proveedor de correo. Que mas puedo revisar?
Hola Dulce,
BorrarVeo que ya configuraste correctamente las credenciales y el log muestra que el proceso se inicia, pero el correo de prueba no se envía y aparece este error:
The mail could not be sent to the recipients because of the mail server failure… Cannot send mails to mail server.
En este caso, no siempre es un fallo de SQL Server, sino que puede estar relacionado con la configuración de seguridad del proveedor de correo (Outlook/Microsoft 365).
Te sugiero revisar los siguientes puntos:
Clave de aplicación (App Password):
Si tu cuenta tiene habilitada la verificación en dos pasos, debes generar una contraseña de aplicación en lugar de usar la clave normal.
Aquí tienes la guía oficial de Microsoft: Cómo obtener y usar contraseñas de aplicación
https://support.microsoft.com/es-es/account-billing/c%C3%B3mo-obtener-y-usar-contrase%C3%B1as-de-aplicaci%C3%B3n-5896ed9b-4263-e681-128a-a6f2979a7944
Configuración TLS/SSL:
Outlook con puerto 587 requiere que la conexión sea STARTTLS. En la configuración de Database Mail asegúrate de:
Habilitar “This server requires a secure connection (SSL)”.
Puerto configurado en 587.
Firewall y salida SMTP:
Verifica que el servidor donde corre SQL Server tenga habilitada la salida al puerto 587 hacia los servidores de Outlook (smtp.office365.com).
Restricciones corporativas:
Si es una cuenta corporativa, puede que el administrador de TI tenga bloqueada la autenticación SMTP. En ese caso, deben habilitar el uso de SMTP Auth en tu cuenta.
Probablemente no es un error de tu SQL Server, sino de la política de seguridad de Outlook. Revisa si puedes usar una contraseña de aplicación y confirma con el administrador si SMTP Auth está habilitado para tu cuenta.