O Microsoft IIS pode desempenhar muito bem o papel de um SMTP, mas requer alguns passos para ser configurado. Sorte para você, eu configurei um servidor de retransmissão SMTP no IIS e documentei todos os passos!
Neste artigo, vamos cobrir todos os passos necessários para configurar com sucesso um servidor de retransmissão SMTP para enviar um e-mail de saída com o Office 365. Tecnicamente, vamos usar esse servidor de retransmissão SMTP para retransmitir e-mails para o Office 365; ele também pode funcionar rapidamente para qualquer propósito geral de entrega de e-mail de retransmissão SMTP.
Pré-requisitos
Para configurar o IIS e acompanhar-me, certifique-se de ter uma máquina Windows Server 2016 disponível. Também vou supor que você está conectado ao servidor como administrador.
Instale o Recurso de Servidor SMTP do IIS
A primeira tarefa que você precisará fazer para configurar uma retransmissão SMTP no IIS é instalar o Servidor SMTP do IIS. Você precisará instalar o recurso Servidor SMTP do Windows.
Usando o Gerenciador do Servidor
Se não estiver familiarizado com a instalação de recursos do Windows via Gerenciador do Servidor, confira este artigo intitulado Instalar ou Desinstalar Funções, Serviços de Função ou Recursos.
Usando o PowerShell
A instalação do recurso do Servidor SMTP remove muitos cliques. Abra um console do PowerShell como administrador e execute a linha abaixo:
Espere a instalação terminar. Você deverá ver uma saída semelhante a esta.

Importe um certificado (apenas para TLS)
Se você estiver enviando e-mails via TLS (Office 365), precisará importar um certificado SSL na loja de certificados pessoais da máquina local do servidor antes de configurar o servidor SMTP do IIS. Você pode pular esta etapa se o seu retransmissor SMTP do Office 365 não usar TLS.
Se você não tiver um certificado, pode obter um por meio de sua PKI interna (se tiver) ou um certificado público usando serviços como LetsEncrypt, Digicert, etc.
Depois de obter o certificado, será necessário importá-lo na loja de certificados pessoais da máquina local. Se não souber como importar certificados usando o MMC de Certificados, confira Importar e Exportar Certificado – Microsoft Windows.
Ao concluir com êxito, você deverá ver uma janela de confirmação como esta. Clique em OK (1) para confirmar.

Voltando à janela principal do console, atualize a pasta Pessoal > Certificados e você deverá ver o certificado importado.
Valide o Certificado
Uma vez importado, certifique-se de verificar que a cadeia de certificados está completa e que não há erros. Se tudo estiver bem, você deverá ser capaz de abrir o certificado e ver que o campo Válido a partir de está atualizado e que há uma chave privada associada ao certificado. Um exemplo é mostrado abaixo.

Na guia Caminho da Certificação, você também deve ver um Status do Certificado indicando que o certificado está OK, conforme mostrado abaixo.

Configure o Servidor SMTP do IIS
Você instalou com sucesso o servidor SMTP até este ponto. Mas antes de poder usá-lo, as configurações do servidor devem ser configuradas primeiro.
O servidor SMTP está sendo executado no modo de compatibilidade com o IIS6 e não vem com suporte integrado ao PowerShell. Isso significa que você configurará as configurações manualmente usando o Console de Gerenciamento do IIS6.
Vá para Iniciar –> Executar e digite inetmgr6 e pressione Enter. Isso abrirá o console do IIS 6.
Assim que o console estiver aberto, clique com o botão direito em [Servidor Virtual SMTP #1] (1), em seguida, selecione Propriedades (2).

Na janela de Propriedades, marque Habilitar log (1), depois clique em Propriedades (2).

Vá para a guia Avançado e marque todas as caixas na lista (1), depois clique em OK (2).

De volta à janela de Propriedades, vá para a guia Entrega e clique em Avançado (1).

Na janela de Entrega Avançada, digite o Nome de Domínio Completo (1) que você deseja usar para o servidor de correio SMTP de destino. Não precisa ser o mesmo que o FQDN do próprio computador. Se você estiver configurando este servidor SMTP para usar com o Office 365, no Host Inteligente (2) campo, defina seu endpoint MX do Office 365 e clique em OK (3).

Adicione IPs Permitidos no Servidor SMTP do IIS
Agora, se você tiver um dispositivo que deseja testar, é necessário adicionar primeiro o endereço IP às restrições de retransmissão. Para este exemplo, o endereço IP 192.168.0.3 será adicionado às restrições de retransmissão. Este endereço IP pertence a um computador que está na mesma rede que o servidor.
Para adicionar um IP permitido nas restrições de retransmissão, vá para a guia Acesso e clique em Relé (1).

No interior da janela de Restrições de Relé, clique em Adicionar (1).

Em seguida, digite o endereço IP (1) que deseja permitir e clique em OK (2).

De volta à janela de Restrições de Relé, confirme que o endereço IP foi adicionado à lista e clique em OK (1) e OK para fechar a janela de propriedades.

Confirme se o Certificado é Detectado pelo Servidor SMTP e Ative a Criptografia TLS
Se o seu servidor de retransmissão estiver enviando e-mails de saída via TLS, você precisará confirmar se o certificado é detectado pelo Servidor SMTP do IIS e ativar a criptografia TLS.
Na guia Acesso das propriedades do Servidor SMTP, você deverá ver uma mensagem informando “Um certificado TLS foi encontrado com data de validade: XXXXXX”. Se sim, está tudo pronto.

Em seguida, clique na guia Entrega, clique em Segurança de Saída (1), marque a caixa Encriptação TLS (2), clique em OK (3).

Isso conclui as etapas de configuração do Servidor SMTP do IIS.
Teste o Servidor de Relevo de Email SMTP do IIS
Neste ponto, seu Servidor SMTP deve estar configurado e pronto para começar a retransmitir emails. O próximo passo é testá-lo. Você deve agora testar o envio de email através do relé SMTP para confirmar que o servidor SMTP receptor recebe a mensagem.
Testar com o Diretório de Coleta
Quando o Servidor SMTP do IIS é instalado, ele criará uma pasta no servidor em C:\inetpub\mailroot\Pickup. Este diretório é onde o serviço SMTP pega os emails recém-submetidos para processamento antes de movê-los para o diretório Fila.
Para testar usando este método, crie um arquivo de texto simples com conteúdo semelhante a este:
Não se esqueça de alterar os valores De e Para para os seus próprios.
Agora salve este arquivo em algum lugar que não seja o diretório de coleta como mail.txt.
Depois de salvar o arquivo, copie e cole o arquivo na pasta C:\inetpub\mailroot\Pickup. Se bem-sucedido, o arquivo deve desaparecer rapidamente. Isso significa que o serviço SMTP o pegou e começou a processar a mensagem.
Após alguns segundos a um minuto, você deverá receber o e-mail enviado para o endereço de e-mail especificado definido em mail.txt.
Teste com PowerShell
Neste teste, você usará o PowerShell do computador cujo endereço IP foi adicionado na seção Adicionar IPs Permitidos no Servidor SMTP do IIS.
Abra um console do PowerShell e copie/cole o código abaixo. Certifique-se de editar os valores para os parâmetros From
, To
e SmtpServer
. Dependendo de como você configurou o servidor de retransmissão acima, você pode usar qualquer um dos exemplos abaixo para testar uma configuração com ou sem TLS.
Resumo
Neste artigo, você aprendeu como configurar um servidor de retransmissão SMTP do IIS para entrega de e-mails do Office 365. Cobrimos a configuração tanto de um servidor SMTP sem TLS quanto com TLS usando uma combinação de GUI e PowerShell. Em seguida, testamos nossa configuração usando PowerShell para confirmar se está tudo bem.