Envio de correo electronico en SQL Server


Para enviar correos electronicos desde SQL seguiremos los siguientes pasos:


1. Habilitar DatabaseMail en SQL Server 2008 R2 Express

sp_configure 'show advanced options', 1; 
GO 
RECONFIGURE; 
GO 
sp_configure 'Database Mail XPs', 1; 
GO 
RECONFIGURE 
GO 


2. Configurar DatabaseMail para ser usado con GMail


use msdb

sysmail_add_account_sp 

     @account_name =  'Prueba',
     @email_address =  'correoorigen@gmail.com' ,
     @display_name =  'Prueba DataBaseMail' ,
   --  @replyto_address =  'noresponder@gmail.com' ,
     @mailserver_name =  'smtp.gmail.com',
     @mailserver_type =  'SMTP' ,
     @port =  587,
     @username =  'correoorigen@gmail.com',
     @password =  'contraseñadelcorreo',
     @enable_ssl =  TRUE


sysmail_add_profile_sp @profile_name = 'Profile de prueba'

sysmail_add_profileaccount_sp
    @profile_name = 'Profile de prueba' ,
    @account_name = 'Prueba',
    @sequence_number = 1

 
3. Enviar un correo de prueba


Para enviar un correo de prueba, podemos utilizar un procedimiento como el siguiente, siempre dentro de la base de datos msdb:

EXEC sp_send_dbmail @profile_name='Profile de prueba',
@recipients='correodestino@gmail.com',
@subject='Mensaje de prueba',
@body='Mi primer prueba de Database Mail'


NOTA:

Si todo funcionó bien, recibiremos el correo sin problemas.
Sino, los posibles errores mas comunes que el usuario con el que esta mandando el correo no tenga permisos y que el parametro  @enable_ssl sea TRUE.

Comentarios

Entradas populares