1. Home
  2. Hospedagem Dedicada
  3. Database mail do SQL Server

Database mail do SQL Server

Personalizamos o envio de e-mail no SQL Server 2008 usando um assembly .NET com métodos de envio de e-mail simples e completo. Para cada método criamos uma Stored Procedure.

Stored Procedure para envio de e-mail simples: [master].[dbo].[LocaWebMailMessage]
Stored Procedure para envio de e-mail completo: [master].[dbo].[LocaWebMailMessage2]

Sintaxe

[master].[dbo].[LocaWebMailMessage2]

Stored Procedure para envio de e-mail completo, onde informamos:

De (nome),
De (endereço),
Para (nome),
Para (endereço),
Cópia Para (nome),
Cópia Para (endereço),
Cópia Oculta Para (nome),
Cópia Oculta Para (endereço),
Resposta Para (nome),
Resposta Para (endereço),
Assunto,
Corpo do E-mail,

Se é HTML ou Texto, Prioridade e Notificação de Entrega.

[master].[dbo].[LocaWebMailMessage2]

     [@fromName = 'fromName']
     , @fromAddress = 'fromAddress'
     [ ,@toName = 'toName']
     , @toAddress = 'toAddress'
     [ ,@ccName = 'toName']
     [, @ccAddress = 'toAddress']
     [ ,@bccName = 'toName']
     [, @bccAddress = 'toAddress']
     [ ,@replyToName = 'toName']
     [, @replyToAddress = 'toAddress']
     , @subject = 'subject'
     , @body = 'body'
     [ ,@isBodyHtml = bit]
     [ ,@priority = int]
     [ ,@deliveryNotificationOptions = int]

Argumentos

     @fromName = Nome do Remetente (opcional)
     @fromAddress = Endereço do e-mail do remetente
     @toName = Nome do Destinatário (opcional)
     @toAddress = Endereço de e-mail do destinatário
     @ccName = Nome do destinatário da cópia (opcional)
     @ccAddress = Endereço de e-mail do destinatário da cópia (opcional)
     @bccName = Nome do destinatário da cópia oculta (opcional)
     @bccAddress = Endereço de e-mail do destinatário da cópia oculta (opcional)
     @replyToName = Nome do e-mail que receberá a resposta. (opcional)
     @replyToAddress = Endereço de e-mail que receberá a resposta. (opcional)
     @subject = Assunto do e-mail
     @body = Corpo do e-mail
     @isBodyHtml = Se o e-mail está em HTML ou texto. Pode ser 0 ou 1 e o padrão é texto (0)
     @priority = Prioridade da mensagem. Pode ser:
              0 - O e-mail tem prioridade normal;
              1 O e-mail tem prioridade baixa;
              2 O e-mail tem prioridade alta.
     @deliveryNotificationOptions = Opções de notificações de entrega.Pode ser:
              0 Sem notificação;
              1 Notifica se a entrega ocorre com sucesso;
              2 Notifica se ocorreu falha na entrega;
              4 Notifica se a entrega ocorre com demora;
              134217728 Nunca notifica. (pode ser a soma de opções)

Exemplos

Envio de mensagem completa

EXECUTE [master].[dbo].[LocaWebMailMessage2] 
     @fromName = 'Locaweb'
     , @fromAddress = 'info@locaweb.com.br'
     , @toName = 'Locaweb'
     , @toAddress = 'locaweb@www10.locaweb.com.br'
     , @ccName = 'Teste'
     , @ccAddress = 'diagnosticando@gmail.com'
     , @bccName = 'Teste2'
     , @bccAddress = 'diagnosticando@homail.com'
     , @replyToName = 'Locaweb'
     , @replyToAddress = 'locaweb@www10.locaweb.com.brr'
     , @subject = 'Mensagem de teste'
     , @body = 'Esta também foi enviada pelo SQL Server 2008!'
     , @isBodyHtml = 1
     , @priority = 2
     , @deliveryNotificationOptions = 1 

Recuperando Exception com TRY/CATCH

BEGIN TRY
     EXECUTE [master].[dbo].[LocaWebMailMessage2]
          @fromName = 'Locaweb'
          , @fromAddress = 'info@locaweb.com.br'
          , @toName = 'Locaweb'
          , @toAddress = 'locaweb@www10.locaweb.com.br'
          , @subject = 'Teste de Exception'
          , @body = 'Vai gerar erro porque o remetente está com 3 @s.'
END TRY
BEGIN CATCH
     SELECT
          ERROR_NUMBER() AS ErrorNumber,
          ERROR_SEVERITY() AS ErrorSeverity,
          ERROR_STATE() AS ErrorState,
          ERROR_PROCEDURE() AS ErrorProcedure,
          ERROR_LINE() AS ErrorLine,
          ERROR_MESSAGE() AS ErrorMessage;
END CATCH
Conheça!

Aproveite e conheça outros produtos da Locaweb, como o Hospedagem de Sites, clique aqui e saiba mais!

Este artigo foi útil ?

Artigos relacionados