O que substitui o servidor SMTP do IIS no Windows Server 2012

30

Eu li as notas aqui http://technet.microsoft.com/en-us/library/hh831568.aspx sobre recursos descontinuados e removidos no Windows 2012 e diz que o SMTP está descontinuado. Suponho que isso se refere ao servidor SMTP do IIS. O conselho é usar o System.Net.Smtp, mas suponho que isso seja uma impressão incorreta, porque não consigo encontrar nenhuma referência em outro lugar a nada chamado System.Net.Smtp.

Se eles realmente pretendem dizer System.Net.Mail, isso é apenas uma API e não vejo como uma API substitui um processo do servidor. Preciso de um serviço que aceite conexões na porta 25 e roteie o email para o destino, como costumava fazer o SMTP do IIS.

Alguém pode esclarecer a situação aqui, por favor? Se eles dissessem que foi substituído pelo Exchange, eu os xingaria, mas pelo menos isso seria uma declaração significativa a fazer, enquanto a atual definitivamente não é.

Andy
fonte

Respostas:

19

Eu acho que a declaração mencionada da Microsoft é simplesmente terrível e completamente confusa e não acho que quem a escreveu tenha alguma pista sobre como o servidor SMTP funciona. Não explica por que está obsoleto ou se há algo errado com ele. Talvez haja problemas de segurança ou saturação de buffer, mas se você não o expuser em uma porta pública, não hesitaria em usá-lo.

Aqui está o que eu faço:

  • No IIS, configurei 'SMTP Email' para o domínio apontar 10.0.0.1. Eu faço isso na pasta pai em qualquer site implantado ou ele será apagado quando você reimplementar. Se você quiser, pode colocá-lo diretamente no web.config, mas é menos flexível assim.
  • No servidor SMTP (por meio do console de gerenciamento do IIS6), configurei um servidor SMTP em 10.0.0.1. Obviamente, como eu disse antes, isso não é exposto na internet pública.
  • Eu configuro este servidor para retransmitir através de um host inteligente via smtp.gmail.comousmtp.live.com
  • No meu aplicativo .NET, uso a API de email para enviar uma mensagem usando a new SmtpClient(). Isso seleciona a configuração do IIS e envia o email para o meu servidor SMTP em10.0.0.1
  • Quando envio um e-mail, ele retorna instantaneamente porque está sendo enviado para o host local

  • Agora, este é o importante benefício do uso de um servidor SMTP local que não pode ser subestimado e para o qual 'System.Net.Smtp' em si não é substituto :

    • O servidor SMTP tentará retransmitir o email através do seu smarthost para você e, se não puder enviá-lo imediatamente, tentará novamente mais tarde.
    • É importante perceber que às vezes nem smtp.gmail.comresponde ou talvez sua rede esteja inoperante. (Surpreendentemente comum quando tentei enviar emails diretamente)
    • Sem um servidor SMTP intermediário para armazenar as mensagens, você não pode simplesmente 'enviar e esquecer' do .NET e você teria que descobrir algum tipo de mecanismo de nova tentativa que é completamente desnecessário com um servidor SMTP que faz tudo por você
    • Acredito que se você tiver um limite de retransmissão SMTP (no seu ISP / GMail), o servidor SMTP continuará repetindo e enviará as mensagens no dia seguinte - outro grande benefício se você tiver tráfego inconsistente no dia a dia ou atingir seu limite sem percebendo.

vá em frente e use. A Microsoft não forneceu uma substituição e é gratuita. Por que não? 'Descontinuado' não significa nada na minha opinião, se não houver substituto.

Isenção de responsabilidade: Ainda estou no Server 2008, mas presumo que tudo isso ainda se aplica.

Simon
fonte
4
Sim, o mesmo ainda se aplica ao Windows Server 2012. Sempre fico surpreso ao encontrar tão poucas pessoas que percebem a vantagem de usar um servidor SMTP local para enfileirar mensagens!
Richard
11
Além das filas, o servidor SMTP permite o registro em log. A configuração SMTP no IIS 8.5 não oferece registro em log, pelo que sei. Adicionamos o servidor SMTP via IIS 6 e solicitamos que o IIS 8.5 se conecte ao host local apenas para obter os arquivos de log do W3C.
Bacon Bits
14

O recurso SMTP da função Servidor da Web foi preterido, mas não foi removido. Você pode instalá-lo e usá-lo, mas é recomendável usar outro servidor SMTP (externo).

O SMTP e as ferramentas de gerenciamento associadas foram descontinuadas. Embora a funcionalidade ainda esteja disponível no Windows Server 2012, você deve começar a usar o System.Net.Smtp. Com esta API, você não poderá inserir uma mensagem em um arquivo para coleta; em vez disso, configure aplicativos da Web para se conectarem na porta 25 a outro servidor usando SMTP.

Portanto, no futuro, você instalaria e usaria um servidor SMTP separado (dos quais existem muitos disponíveis) para fornecer serviços SMTP a aplicativos Web em execução no Windows ServerX.

joeqwerty
fonte
4

Essa descrição no artigo ao qual você vinculou é terrível! Mas aqui está o que ele está tentando lhe dizer:

A ativação do SMTP do IIS nas versões anteriores do Windows fez duas coisas:

  1. Iniciado um servidor SMTP do IIS.
  2. Adicionadas bibliotecas de programação (por exemplo, objetos COM, etc.) para o envio de mensagens.

Se você usasse essas bibliotecas sem nenhuma configuração, elas seriam enviadas ao servidor SMTP do IIS local. Os programadores são inerentemente preguiçosos; portanto, como isso funcionou com o mínimo de esforço da parte deles, foi o que fizeram. E muitos não forneceram uma maneira de enviar email por um servidor SMTP diferente.

O que o artigo deve dizer é que o servidor SMTP do IIS não existe mais, mas as bibliotecas SMTP ainda são fornecidas e o aplicativo deve ser configurado para usar um servidor SMTP diferente.

pescoço longo
fonte
2
O servidor SMTP é um recurso da função de servidor Web no Windows Server 2012 e pode ser instalado. Foi descontinuado, mas não removido.
joeqwerty
Eu suponho que ele ainda apareça em 'console de gerenciamento IIS6', certo?
Simon
2
@Sim Sim, o mesmo bom e antigo console de gerenciamento de 2002 do IIS 6 ainda é usado para configurar o SMTP no Windows Server 2012. :) O recurso de gerenciamento do IIS 6 é uma dependência do recurso SMTP.
bzlm
11
Ignore a calúnia ignorante da preguiça. Para obter detalhes sobre por que um servidor SMTP local é uma boa ideia (e padrão na maioria dos outros sistemas operacionais - cliente e servidor), consulte esta resposta .
bzlm
Que tal o Windows Server 10 ou como ele é chamado? O mesmo negócio?
Simon