Como enviar e-mails com anexos no MS-SQL Server sem o uso do SQL Mail

Neste artigo exploraremos uma alternativa para o envio de e-mails a partir do servidor de banco de dados sem a utilização do SQL Mail e sem a necessidade da instalação de um cliente de mensagens no servidor.

Clique aqui para ler esse artigo em PDF.

Clique aqui para ler todos os artigos desta edição

Como enviar e-mails com anexos no MS-SQL Server sem o uso do SQL Mail

 

     Uma necessidade comum de quem trabalha com servidores MS-SQL Server, tanto para administradores de banco de dados quanto para desenvolvedores, é o envio de e-mails a partir do banco de dados. O método mais comum de se atender a esta necessidade se dá através do uso do SQL Mail. O detalhe é que para utilizar o SQL Mail é necessário a instalação de um cliente de mensagens no servidor de banco de dados e que, na maioria das vezes, é o Microsoft Outlook. Neste artigo exploraremos outra alternativa para o envio de e-mails a partir do servidor de banco de dados sem a utilização do SQL Mail e sem a necessidade da instalação de um cliente de mensagens

no servidor.

 

Visão geral da necessidade e da solução proposta

 

     O SQL Mail permite o envio de e-mails a partir do servidor de banco de dados SQL Server de forma simples e rápida. Entretanto, devido ao fato do SQL Mail ser uma aplicação MAPI (ver Nota 1), um subsistema MAPI deve estar presente no servidor para que o SQL Mail possa funcionar. O Windows NT 4.0 instala um subsistema MAPI no servidor quando você instala o Windows Messaging. O Windows 2000, entretanto, não possui um subsistema MAPI. Desta forma, se você quiser utilizar o SQL Mail, precisará instalar um cliente MAPI - como o Microsoft Outlook.

 

Nota 1. MAPI

Messaging Application Programming Interface (MAPI) é um conjunto

de bibliotecas construído no Windows que permite que aplicativos

de envio e recebimento de e-mail possam trabalhar juntos

para a distribuição de mensagens.

 

     Você pode utilizar outros métodos para o envio de e-mails SMTP (Simple Mail Transfer Protocol) a partir do servidor de banco de dados SQL Server. Uma alternativa é o uso do modelo de objetos CDONTS (Collaboration Data Objects for NT Server) e outra é o uso do modelo de objetos CDOSYS (Collaboration Data Objects for Windows 2000). Qualquer um desses modelos pode ser utilizado em conjunto com as stored procedures OLE Automation (sp_OA*; ver Nota 2) do SQL Server como alternativa ao SQL Mail para envio de e-mails.

 

Nota 2. OLE Automation

Object Linking and Embedding Automation (OLE Automation) é um

método de controle e utilização de objetos COM (Component Object

Model) independente de linguagem. No SQL Server, as stored

procedures OLE Automation permitem que você instancie e trabalhe

com objetos COM a partir do transact SQL (T-SQL).

 

     Para os servidores que funcionam em Windows NT, a única opção é o uso do modelo de objetos CDONTS. O modelo de objetos CDOSYS passou a existir no Windows 2000 e permanece no Windows Server 2003. O modelo de objetos CDONTS não é suportado em servidores Windows Server 2003. Portanto, se seus servidores são Windows 2000 ou superiores, você deve utilizar o modelo de objetos CDOSYS.

     Nos tópicos seguintes veremos como utilizar esses dois modelos de objetos para o envio de e-mails.

 

 

Como utilizar o CDONTS para envio de emails em servidores Windows NT

 

     O modelo de objetos CDONTS foi especialmente desenvolvido para proporcionar funcionalidades de envio de mensagens para aplicações web, permitindo o envio de mensagens no formato HTML - diferentemente de aplicações baseadas em MAPI (como o SQL Mail) que não possuem esse recurso. O Microsoft Internet Information"

[...] continue lendo...

Artigos relacionados