Saltar al contenido

¿Cómo enviar correo electrónico desde SQL Server?

Después de consultar especialistas en este tema, programadores de diversas ramas y maestros dimos con la solución a la interrogande y la dejamos plasmada en este post.

Solución:

Paso 1) Crear perfil y cuenta

Debe crear un perfil y una cuenta mediante el Asistente para configurar el correo electrónico de la base de datos, al que se puede acceder desde el menú contextual Configurar el correo electrónico de la base de datos del nodo Correo electrónico de la base de datos en el nodo de gestión. Este asistente se utiliza para administrar cuentas, perfiles y configuraciones globales de Correo electrónico de base de datos.

Paso 2)

CORRER:

sp_CONFIGURE 'show advanced', 1
GO
RECONFIGURE
GO
sp_CONFIGURE 'Database Mail XPs', 1
GO
RECONFIGURE
GO

Paso 3)

USE msdb
GO
EXEC sp_send_dbmail @profile_name='yourprofilename',
@recipients='[email protected]',
@subject='Test message',
@body='This is the body of the test message.
Congrates Database Mail Received By you Successfully.'

Para recorrer la tabla

DECLARE @email_id NVARCHAR(450), @id BIGINT, @max_id BIGINT, @query NVARCHAR(1000)

SELECT @id=MIN(id), @max_id=MAX(id) FROM [email_adresses]

WHILE @id<[email protected]_id
BEGIN
    SELECT @email_id=email_id 
    FROM [email_adresses]

    set @query='sp_send_dbmail @profile_name=''yourprofilename'',
                        @recipients='''[email protected]_id+''',
                        @subject=''Test message'',
                        @body=''This is the body of the test message.
                        Congrates Database Mail Received By you Successfully.'''

    EXEC @query
    SELECT @id=MIN(id) FROM [email_adresses] where id>@id

END

Publicado esto en el siguiente enlace http://ms-sql-queries.blogspot.in/2012/12/how-to-send-email-from-sql-server.html

Puede enviar correo electrónico de forma nativa desde SQL Server mediante el correo electrónico de la base de datos. Esta es una gran herramienta para notificar a los administradores de sistemas sobre errores u otros eventos de la base de datos. También puede usarlo para enviar un informe o un mensaje de correo electrónico a un usuario final. La sintaxis básica para esto es:

EXEC msdb.dbo.sp_send_dbmail  
@recipients='[email protected]',
@subject='Testing Email from SQL Server',
@body='

It Worked!

Email sent successfully

', @body_format='HTML', @from_address='Sender Name <[email protected]>', @reply_to='[email protected]'

Antes de su uso, el Correo electrónico de la base de datos debe habilitarse mediante el Asistente para la configuración del Correo electrónico de la base de datos o sp_configure. Es posible que un administrador de base de datos o de Exchange necesite ayudarlo a configurar esto. Consulte http://msdn.microsoft.com/en-us/library/ms190307.aspx y http://www.codeproject.com/Articles/485124/Configuring-Database-Mail-in-SQL-Server para obtener más información.

También puedes hacerlo con un cursor. Suponiendo que ha creado una cuenta y un perfil, por ejemplo, “perfil” y una cuenta, y tiene la tabla que contiene los correos electrónicos listos, por ejemplo, “EmailMessageTable”, puede hacer lo siguiente:

USE database_name
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE mass_email AS
declare @email nvarchar (50) 
declare @body nvarchar (255)  

declare test_cur cursor for             
SELECT email from [dbo].[EmailMessageTable]

open test_cur                                        

fetch next from test_cur into   
@email     
while @@fetch_status = 0       
begin                                    

set @body = (SELECT body from [dbo].[EmailMessageTable] where email = @email)
EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'profile',
    @recipients = @email,
    @body = @body,
    @subject = 'Credentials for Web';
fetch next from test_cur into  
@email 
end    
close test_cur   
deallocate test_cur

Después de eso, todo lo que tiene que hacer es ejecutar el Procedimiento almacenado

EXECUTE mass_email
GO

Si tienes algún titubeo y forma de ascender nuestro reseña eres capaz de realizar un informe y con placer lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *