Configurando SMTP para enviar e-mails do SSRS

Fala galera, enviar e-mail através de um serviço de SMTP é um processo bastante difundido e usado, mas só uma pequena porcentagem de pessoas que trabalham com TI sabem como configurar o serviço.

Olhando para o mundo de BI, podemos pensar rapidamente em usar o envio de e-mails em atividades como estas abaixo, mas não nos limitando somente à elas:

  • Subscription do Reporting Services
  • DataAlert do Reporting Services + Sharepoint
  • Execução com sucesso/falha de tarefas do Integration Services

A primeira coisa a ser feita é instalar/habilitar o serviço de SMTP no servidor. Para isso, vá até o Server Manager, procure por Features e marque a caixa do SMTP Server e siga o wizard para concluir a instalação.

image

Após instalar o SMTP Server, vá até o IIS 6.0 Manager para realizar a configuração do servidor de disparo de e-mail.

image

Após abrir o IIS 6.0 Manager, serão mostrados todos os serviços virtuais que estão instalados/habilitados no Internet Information Services. No meu caso, tenho somente o serviço do SMTP que acabamos de instalar, e é neste serviço (servidor virtual) que vamos configurar os dados da conta de e-mail. Clique com o botão direito no servidor virtual (SMTP Virtual Server #1), e vá até as propriedades (Properties).

image

Nas propriedades, na primeira tela que é apresentada, precisamos definir o IP único e a porta de acesso. Por padrão a porta 25 é usada por serviços SMTP, mas você pode alterar. É importante fazer esta configuração do IP/Porta, para não informar uma configuração errada quando uma aplicação precisar disparar e-mail. Lembrando que você pode configurar mais de um servidor SMTP dentro da sua empresa, e eles serão acessados através de seus IPs e Portas. Por isso é importante prestar atenção neste passo.

Para realizar esta configuração informando a porta que deseja, clique no botão Advanced e após a janela se abrir informe o IP e a Porta, clicando no botão ADD. Aparecem alguns IPs na combobox, selecione o IP interno do seu servidor. Se for manter a porta 25 (que é a padrão), pode selecionar o IP interno diretamente na tela principal, ignorando o botão Advanced.

image

Na aba Access, vamos informar quem pode acessar o SMTP. Através do botão Authentication informamos o tipo de autenticação que é permitido no serviço. Por padrão acesso Anonimo (Anonymous) já vem marcado, nós vamos marcar também Basic Authentication, para permitir preenchimento de usuário e senha. Um alerta será mostrado, pode clicar em OK para seguir em frente.

image

Ainda na aba Access, clicando no botão Relay mais em baixo da tela, é informado quem pode acessar, ou quem é negado a acessar, o serviço. Para facilitar a configuração, informamos ao SMTP que todos podem ter acessos, com excessão do domínio, IP específico ou Range de IPs, que são adicionados à esta regra. Não colocaremos nenhuma regra de bloqueio aqui (mas fique a vontade para colocar, caso queira). Após configurar o Relay Restriction, clique em OK.

image

Agora na aba Delivery, vá até o botão Outbound Security e altere a opção de Anonymous access para Basic Authentication informando o endereço de e-mail e a senha que será utilizado para fazer o disparo… (aqui até me lembro de um fato engraçado que aconteceu a um tempo atrás, mas é melhor nem comentar pra não perder a amizade). Também marque a caixa de TLS encryption. Essa marcação informa que SSL será usado para criptografar informações durante a saída do e-mail. Como estamos usando uma conta do gmail (sim, o Codificando.Net é uma conta do gmail) não é preciso instalar o certificado digital. Caso você esteja fazendo o teste com uma conta própria, pode ser necessário fazer esta instalação. Clique em OK após informar usuário e senha.

image

Ainda na aba Delivery, mas no botão Advanced, informamos o smtp do gmail (lembrando, novamente, que o provedor original do e-mail do Codificando .Net é o gmail) e depois clicamos em OK.

image

Feito isso, na teoria, seu ambiente possui um servidor de SMTP configurado e está preparado para disparar e-mails. Para testar, fiz o download de um software do codeplex (http://smtptest.codeplex.com/) que testa o SMTP. O preenchimento do software é simples, e usa o recurso que acabamos de configurar.

Veja em amarelo os itens que preenchi, para enviar o e-mail. Reparem que não foi usado o e-mail e senha de envio, visto que já está configurado no SMTP. Esta faixa vermelha onde está o Host, é o nome do servidor que você configurou o serviço de SMTP. O campo From precisa ser preenchido, mas não é usado para o disparo. O serviço do SMTP usa o email configurado (Codificando.Net) para realizar o disparo.

image

Se você clicar em Test e aparecer a mensagem “Email enviado com sucesso”, confira sua caixa de entrada que foi informada no campo To, e veja se o e-mail está lá.

image

Agora é contigo, configure seus serviços internos para usar o disparo de emails através do SMTP que acabou de configurar…

Sobre Diego Nogare 346 Artigos
Diego Nogare é Gerente Técnico de Engenharia de Machine Learning no Itaú-Unibanco. Também é professor em programas de pós graduação no Mackenzie e na FIAP, em São Paulo. Foi nomeado como Microsoft MVP por 11 anos seguidos, e hoje faz parte do programa Microsoft Regional Director.