A ativação desse recurso no SQL do servidor é um pré-requisito para o envio de e-mails no processo de assinatura eletrônica.
Antes de começar
Antes de ativar o recurso de envio de e-mail do SQL Server, deve-se observar os seguintes pré-requisitos:
- Determinar a conta no servidor SMTP para envio de e-mail.
- Conceder as permissões apropriadas para a conta de serviço do SQL Server.
A conta de serviço do SQL Server deve ter permissão para acessar a rede, assim como os servidores SMTP devem permitir conexões do computador que executa o SQL Server. - Determinar os requisitos de segurança.
Para configurar o Database Mail, você deve ser membro da função de servidor fixa sysadmin.
O Database Mail tem suporte a SSL, caso seja exigido pelo servidor SMTP. O Database Mail pode fazer uma conexão anônima com o servidor SMTP, caso o servidor aceite tais conexões ou possa fornecer credenciais para autenticação básica. Em conexões que utilizam a Autenticação do Windows, o Database Mail usa as credenciais do serviço do Windows para a autenticação do Mecanismo de banco de dados do SQL Server no servidor SMTP.
Ativar o serviço a partir do assistente
Para iniciar o Assistente de Configuração do Database Mail:
- No Pesquisador de Objetos, conecte-se a uma instância do SQL Server.
- Expanda Gerenciamento, clique com o botão direito do mouse em Database Mail e selecione Configurar Database Mail.
- Marque a opção Instalar Database Mail para instalar o Database Mail pela primeira vez.
Observação:
Habilitar o SQL Server Service Broker em qualquer banco de dados exige um bloqueio de banco de dados. Se o Service Broker foi desabilitado no msdb, para habilitar o Database Mail, primeiro interrompa o SQL Server Agent para que o Service Broker obtenha o bloqueio necessário. - Escolha uma das outras opções para tarefas de manutenção específicas:
- Gerenciar contas e perfis do Database Mail.
- Gerenciar segurança de perfil.
- Exibir ou alterar parâmetros do sistema.
Observação:
Por padrão, a entrega de mensagens do Service Broker está ativa em um banco de dados quando este é criado.
Não é necessário conceder permissão ao usuário sobre o perfil, pois o Linx ERP já executa essa tarefa através do Cadastro de Usuários
Ativar o serviço a partir de comandos T-SQL
Para utilização do recurso de envio de e-mail do SQL Server, deve-se seguir os seguintes passos:
1. Habilitar o Service Broker
O Database Mail depende do Service Broker para enfileirar mensagens de e-mail, portanto o primeiro passo é habilitá-lo no banco de dados msdb.
Observação:
O Service Broker encontra-se habilitado por padrão no banco de dados msdb, mas pode ter sido desativado por qualquer motivo. Habilitar o Service Broker em qualquer banco de dados requer um bloqueio de banco de dados. Portanto para habilitar Database Mail no msdb, primeiro interrompa o SQL Server Agent, para que o Service Broker possa obter o bloqueio necessário.
2. Habilitar Database Mail XPs
O Database Mail depende de algumas procedures internas, as quais encontram-se desabilitadas em novas instalações.
É possível habilitar essas procedures usando a opção Database Mail XPs da procedure do sistema sp_configure.
3. Conta do DatabaseMail
Para enviar e-mail, deve-se criar uma conta no Database Mail, a qual contém as informações que o Microsoft SQL Server usa para enviar mensagens de e-mail a um servidor SMTP.
Para criar uma conta do Database Mail usando Transact-SQL:
- Determine o nome de servidor e o número de porta do servidor SMTP utilizado para enviar emails.
- Se o servidor SMTP exigir autenticação, determine o nome de usuário e a senha do servidor SMTP.
- Execute procedimento armazenado msdb.dbo.sysmail_add_account_sp para criar a conta, especificando:
- O nome da conta a criar.
- Uma descrição opcional da conta.
- O endereço de email a ser exibido em mensagens de email enviadas.
- O nome para exibição a aparecer nas mensagens de email enviadas.
- O nome do servidor SMTP.
- O nome de usuário a usar para fazer logon no servidor SMTP, se o servidor SMTP exigir autenticação.
- A senha a usar para fazer logon no servidor SMTP, se o servidor SMTP exigir autenticação.
4. Perfil do DatabaseMail
Os aplicativos que enviam e-mail por meio do Database Mail especificam perfis, em vez de usar contas diretamente, portanto deve-se criar um perfil para associar à conta de e-mail.
Um perfil público permite a qualquer usuário acessar o banco de dados msdb para enviar emails usando o perfil.
Para criar um perfil público do Database Mail usando Transact-SQL
1. Crie uma ou mais contas do Database Mail para o perfil. Para obter mais informações sobre como criar contas do Database Mail, consulte Como criar contas do Database Mail (Transact-SQL).
2. Execute o procedimento armazenado msdb.dbo.sysmail_add_profile_sp para criar o perfil, especificando:
- O nome do perfil a criar.
- Uma descrição opcional do perfil.
3. Para cada conta, execute msdb.dbo.sysmail_add_profileaccount_sp para adicionar a conta ao perfil.
Expurgo de dados históricos
O Database Mail retém as mensagens enviadas e seus anexos no banco de dados msdb. Para evitar que o banco de dados msdb ocupe muito espaço em disco, em função do volume de mensagens armazenadas, é recomendável excluir mensagens mais atingias para recuperar espaço. Para excluir as mensagens, crie um Job no SQL Server Agent para excluir mensagens, anexos e entradas de log mais antigas através das seguintes procedures:
sysmail_delete_mailitems_sp
Use essa procedure para excluir mensagens utilizando os argumentos opcionais @sent_before ou @sent_status, os quais permitem excluir somente os emails mais antigos fornecendo uma data e hora ou de um determinado tipo. Você deve fornecer um argumento para @sent_before ou @sent_status.
sysmail_delete_log_sp
Use essa procedure para excluir para excluir entradas do log do Database Mail utilizando os argumentos opcionais @logged_before ou @event_type, os quais permitem excluir somente os registros mais antigos fornecendo uma data e hora ou de um determinado tipo.
Referências técnicas
Database Mail: http://msdn.microsoft.com/pt-br/library/ms189635.aspx
Objetos do Database Mail: http://msdn.microsoft.com/pt-br/library/ms175100.aspx
Cofigurar o Database Mail: http://msdn.microsoft.com/pt-br/library/hh245116.aspx