Servicio DatabaseMail en SQL Server 2012
Saludos!!, muchos han intentado configurar el servicio para enviar correos de Sql Server en la versión Express, pero ha diferencia de las versiones como la Standar la configuración es diferente, esta como "Oculta". Para poder usar este servicio podemos usar dos opciones.
La primera con interfaz de usuario.
Abrimos el sql server management.
Luego en el explorador de objetos damos click derecho y seleccionamos Facets
Nos aparecera un pantalla, luego seleccionaremos "Surface Area Configuration"
Por ultimo seleccionaremos la propiedad "DatabaseMailEnabled" igual a "True"
También lo podemos hacer vía un script el cual solo tienen que ejecutar y el servicio se habilita.
USE master
Go
EXEC sp_configure 'show advanced options', 1
Go
RECONFIGURE
Go
EXEC sp_configure 'Database Mail XPs', 1
Go
RECONFIGURE
Go
EXEC sp_configure 'show advanced options', 0
Go
RECONFIGURE
Go
Ya que tenemos el servicio de DatabaseMail configurado vamos a la siguiente parte , que es la configuración de los perfiles. Para esto podemos hacer es utilizar el procedimiento almacenado del llamado sysmail_add_account_sp. Los parámetros que vamos a utilizar son :
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name='PruebaCorreo', --Nombre del perfil
@email_address='PruebaCorreo@outlook.com', --Correo a usar
@display_name='SQL MAIL', --Nombre que se va a mostrar
@replyto_address='PruebaCorreo@outlook.com', -- Correo para responder
@description='Perfil de prueba', --Descripción del perfil que esta creado
@mailserver_name='smtp.live.com', --Servidor de correo a usar
@mailserver_type='SMTP',
@port=587, --Puerto
@username='PruebaCorreo@outlook.com', --Usuario de su cuenta de correo
@password = 'PruebaCorreo', --Contraseña de correo
@use_default_credentials=0,
@enable_ssl=1
GO
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'PruebaCorreo',
@description = 'Perfil de prueba para enviar correos'
GO
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'PruebaCorreo',
@account_name = 'PruebaCorreo',
@sequence_number = 1
GO
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'PruebaCorreo',
@principal_name = 'public',
@is_default = 1 ;
Ejecutamos el script el cual realiza la creación de los perfiles para enviar correos. Finalmente para enviar los correos utilizáramos este script.
exec msdb.dbo.sp_send_dbmail
@profile_name = 'PruebaCorreo', --Nombre del Perfil creado
@recipients = 'mlamarche08@outlook.com', --Correo del destinatario
@subject = 'Porbando', --Tema
@body = 'Probando Email', --Cuerpo del correo
@body_format = 'text' --Formato a usar
En caso que quieran revisar ellog de los correos con errores pueden utilizar esta consulta :
SELECT * FROM sysmail_event_log;
go
SELECT * FROM sysmail_unsentitems
Con esta consulta pueden ver los correos enviados :
select *
from sysmail_sentitems
Para ver los perfiles creados :
select *
from sysmail_account
Existen otras tablas pero con estas podemos empezar a trabajar. Hasta el próximo articulo!!
Comentarios
Publicar un comentario