Este processo pode implementado em um servidor de banco de dados MS-SQL Server 2005/2008 de forma personalizada.
Disponibilizamos 2 Stored Procedures que efetuam esta tarefa. Abaixo seguem maiores detalhes:
Simples – [master].[dbo].[LocaWebMailMessage] Stored Procedure com quantidade reduzida de parâmetros. Ideal para simples envio de e-mail.
Sintaxe: [master].[dbo].[LocaWebMailMessage] [@fromName = 'fromName'] , @fromAddress = 'fromAddress' [ ,@toName = 'toName'] , @toAddress = 'toAddress' , @subject = 'subject' , @body = 'body' [ ,@isBodyHtml = bit] 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 @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) Exemplos: --Envio de mensagem simples com nomes EXECUTE [master].[dbo].[LocaWebMailMessage] @fromName = 'Nome do Remetente' , @fromAddress = 'remetente@seudominio.com.br' , @toName = 'Nome do Destinatário' , @toAddress = 'destinatario@seudominio.com.br' , @subject = 'Mensagem de teste' , @body = 'Esta mensagem também foi enviada pelo <b><u>SQL Server 2005.</u></b>' , @isBodyHtml = 1 Detalhado - [master].[dbo].[LocaWebMailMessage2] Semelhante a primeira, esta Stored Procedure é mais detalhada. Podemos informar dados como: cópia oculta, prioridade, e-mail de resposta, etc. Sintaxe: [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. Podem 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 = 'Remetente' , @fromAddress = 'Remetente@seudominio.com.br' , @toName = 'Destinatário' , @toAddress = 'destinatario@seudominio.com.br' , @ccName = 'Cópia' , @ccAddress = 'copia@seudominio.com.br , @bccName = 'Cópia oculta' , @bccAddress = 'copiaoculta@seudominio.com.br , @replyToName = 'Nome de Resposta' , @replyToAddress = 'resposta@seudominio.com.br' , @subject = 'Mensagem de teste 1 ' , @body = '<h2>Esta também foi enviada pelo SQL Server 2005!</h2>' , @isBodyHtml = 1 , @priority = 0 , @deliveryNotificationOptions =0 --Recuperando Exception com TRY/CATCH BEGIN TRY EXECUTE [master].[dbo].[LocaWebMailMessage2] @fromName = 'Nome' , @fromAddress = 'From@seudominio.com.br' , @toName = 'Destino' , @toAddress = 'toAddress@seudominio.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
Veja também
Era isso que estava procurando?
SimNão