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 do IIS e documentei todos os passos!
Neste artigo, abordaremos todos os passos necessários para configurar com sucesso um servidor de retransmissão SMTP para enviar um email de saída com o Office 365. Tecnicamente, usaremos esse servidor de retransmissão SMTP para retransmitir emails para o Office 365; ele pode funcionar da mesma forma para qualquer finalidade geral de entrega de emails por retransmissão SMTP.
Pré-requisitos
Para configurar o IIS e seguir comigo, certifique-se de ter uma máquina com o Windows Server 2016 disponível. Também assumirei 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 do IIS é instalar o servidor SMTP do IIS. Você precisará instalar o recurso de Servidor SMTP do Windows.
Usando o Gerenciador do Servidor
Se você não está 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ções ou Recursos.
Usando o PowerShell
A instalação do recurso de servidor SMTP remove muitos cliques. Abra um console do PowerShell como administrador e execute a linha abaixo:
Aguarde a conclusão da instalação. Deve ver uma saída semelhante a esta.

Importe um certificado (apenas para TLS)
Se pretender enviar e-mails via TLS (Office 365), precisa de importar um certificado SSL na loja de certificados pessoais da máquina local do servidor antes de configurar o Servidor SMTP do IIS. Pode ignorar este passo se o seu relé SMTP do Office 365 não usar TLS.
Se não tiver um certificado, pode obter um através da sua PKI interna (se tiver) ou de um certificado público usando serviços como LetsEncrypt, Digicert, etc.
Depois de obter o certificado, precisará de o importar na loja de certificados pessoais da máquina local. Se não estiver familiarizado com a importação de certificados usando o MMC de Certificados, consulte Importar e Exportar Certificado – Microsoft Windows.
Quando for bem-sucedido, deverá obter uma janela de confirmação como esta. Clique em OK (1) para confirmar.

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

Na guia Caminho de Certificação, você também deve ver um Estado 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), então selecione Propriedades (2).

Na janela Propriedades, marque Ativar registro (1), então clique em Propriedades (2).

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

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

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

Adicionar IPs Permitidos no Servidor SMTP do IIS
Agora, se tiver um dispositivo que deseja testar, deve adicionar primeiro o seu endereço IP às restrições de relay. Para este exemplo, o endereço IP 192.168.0.3 será adicionado às restrições de relay. 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 relay, vá para a guia Acesso e clique em Relay (1).

Dentro da janela Restrições de Relay, clique em Adicionar (1).

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

Voltando à janela Restrições de Relay, confirme que o endereço IP foi adicionado à lista, e então clique em OK (1) e OK para sair da janela de propriedades.

Confirmar que o Certificado é Detectado pelo Servidor SMTP e Habilitar Criptografia TLS
Se o seu servidor de relay estiver enviando emails de saída via TLS, você precisará confirmar se o certificado é detectado pelo Servidor SMTP do IIS e habilitar a criptografia TLS.
Na guia Acesso das propriedades do Servidor SMTP, você deverá ver uma mensagem indicando “Um certificado TLS foi encontrado com data de validade: XXXXXX”. Se isso acontecer, está tudo pronto.

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

Isso conclui as etapas de configuração do Servidor SMTP do IIS.
Teste o Servidor de Relay 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 testar agora o envio de emails através do relay SMTP para confirmar se o servidor SMTP receptor recebe a mensagem.
Teste 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-enviados 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 for bem-sucedido, o arquivo deverá 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 email enviado para o endereço de email especificado definido em mail.txt.
Teste com PowerShell
Neste teste, você usará o PowerShell do computador cujo endereço IP você adicionou 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 dos parâmetros From
, To
e SmtpServer
. Dependendo de como você configurou o servidor de retransmissão acima, você pode usar 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 emails de destinatários do Office 365. Cobrimos a configuração de um servidor SMTP com e sem TLS usando uma combinação de GUI e PowerShell. Em seguida, testamos nossa configuração usando o PowerShell para confirmar que tudo está funcionando corretamente.