Empresas de pequeno ou médio porte tem optado por alguns serviços na nuvem, como por exemplo, utilizar o gmail como seu servidor de e-mails e o google doc´s como repositório de documentos.
Essas mesmas empresas também utilizam serviços internos como o Team Foundation Server para gerenciar seus projetos de desenvolvimento, independente da linguagem .NET, Java, Cobol, VB6 etc.
Nesse cenário surge a necessidade de integração entre alguns serviços internos com serviços externos. E como podemos fazer isso com o Team Foundation Server e o Gmail ?
Nativamente, não é possível passar informações de servidores e-mail, usuários e contas para autenticação, por isso temos que implementar uma funcionalidade do IIS, o SMTP Server, para criar um servidor virtual de SMTP e fazer ele “conversar” com o gmail, permitindo que o TFS envie seus alertas.
Para fazer isso, primeiro precisaremos instalar a feature do SMTP Server, para isso acesse o Server Manager, e selecione a feature do SMTP Server
Click em Next até chegar ao final da instalação. Depois de instalar, precisamos configurar o SMTP Server do IIS para isso, vamos acessar o IIS Manager abrir a Feature do SMTP E-mail
Na tela de configuração da Feature do SMTP E-Mail, deixaremos as opções padrões.
Agora precisamos configurar o nosso servidor virtual para conversar com o Gmail. Para isso, vamos acessar o IIS Manager 6.0
Ao abrirmos a console do IIS Manager 6.0, percebemos que o serviço está parado, então o primeiro passo é iniciar o serviço. Selecione o serviço ao lado direito e depois clique no botão iniciar (a figura igual ao botão play na barra superior)
Depois de iniciado, selecione o serviço e entre nas propriedades para começarmos as configurações
Na aba Access, vamos habilitar quais as máquinas vamos permitir que faça relay nesse servidor. Podem ser adicionadas máquina a máquina, uma rede válida ou um domínimo específico. No nosso exemplo, vou adicionar uma rede.
Agora na aba Delivery, acesse a opção Outbound Sercurity selecione a opção basic authentication e coloque o e-mail do gmail e a senha de acesso do e-mail. Tem que ser um e-mail válido. São com essas informações que o IIS realizará a conexão com o Gmail para enviar os e-mails de alerta. Importante não podemos esquecer de marcar a opção TLS Encryptation
No Outbound Connections precisamos alterar a porta de comunicação de TCP. Por padrão a porta é a 25, porém o gmail utiliza a porta 587
Por último, vamos na opção Advanced. Nessa tela vamos informar qual é o nome do nosso servidor virtual, tem que ser o nome do seu servidor que é conhecido na rede (nome + domínio) e o smart host, precisamos informar qual é o smtp do gmail (smtp.gmail.com), conforme figura abaixo
Com isso, configuramos o Servidor de SMTP, agora vamos configurar os alertas do Visual Studio. Para isso, entre na console administration, selecione o application tier e role até a opção de configurar os alertas de e-mail.
Na opção SMTP Server, entre com o nome do servidor onde acabou de ser configurado o servidor de SMTP. No E-mail From Address coloque um endereço de e-mail, pode ser qualquer endereço.
Pronto, agora você pode gerar algum alerta no TFS que receberá o e-mail através do gmail configurada no passo 8.
Esse procedimento pode ser utilizado para qualquer servidor de e-mail externo que você possua um usuário válido ou se na sua empresa a porta padrão de conexão com o servidor de e-mail é diferente da padrão.
Claudio Leite
Claudio Leite é consultor de ALM da Lambda3, Visual Studio ALM Ranger, PSD, PSM I e PSM II. Graduado em Ciência da Computação pela Universidade Católica de Petrópolis, MBA e POS-MBA em Gestão de Projetos pela Fundação Getúlio Vargas. Twitter: @claudiobernardo