Trivial Issue com ASP.NET 1.1 e SMTP

2

O servidor está sendo executado:

  • Windows Server Standard no SP2
  • IIS 7 com o ASP.NET 1.1
  • IIS 6 para SMTP

O servidor hospeda muitos sites que executam o ASP.NET 1.1. Esses sites usam o servidor SMTP embutido no IIS6.

O SMTP funciona bem por um tempo, mas depois de algumas semanas ou meses, ele pára de enviar e-mails. Eu tentei enviar um via Telnet parece bem assim o servidor SMTP não é o problema.

Eu tentei reiniciar os pools de aplicativos, mas isso não teve efeito algum. Eu também tentei reiniciar o IIS 7.0 e IIS 6.0 ainda não irá enviar mensagens.

A única maneira temporária encontrada para corrigir isso foi reiniciar o servidor.

Existe um cache do ASP.NET que podemos limpar ou está causando esse problema?

ATUALIZAÇÃO:

Tem a correção!

Foi um palpite, mas eu reiniciei os serviços Spooler de Impressão e Cliente DNS no servidor e agora os e-mails são enviados com sucesso.

Mas ainda sei agora por que isso acontece em projetos do ASP.NET 1.1.

UPDATE 2:

A edição apareceu novamente hoje! Tive sorte, achei que tinha que esperar semanas para testá-lo novamente.

Comecei reiniciando o serviço do cliente DNS. Nenhum efeito ainda não pode enviar e-mails. Em seguida, reiniciei o serviço Print Spooler e, para minha surpresa, foi o culpado! ?????????

Como é isso mesmo, o quê, por quê? Hã?

Eu desativei o spooler de impressão permanentemente. E-mail ainda funciona. Não creio que imprimamos nada ou se o Spooler de Impressão realiza outras tarefas além da impressão.

Se isso acontecer, por favor comente abaixo.

UPDATE 3:

A correção foi temporária. Descobri hoje que o WINSOCK recusou conexões do ASP.NET, mas aceitou conexões via correio telnet.

Ainda tentando descobrir por que isso está acontecendo.

ATUALIZAÇÃO 4:

Bem, finalmente fez uma reinicialização com as correções de corrupção do WINSOCK aplicadas. Espero que isso seja válido para sempre e que o bug não reapareça.

Adicionado ao meu blog: link

    
por Moushigo 24.01.2012 / 21:20

3 respostas

0

Você pode considerar o uso de um serviço de entrega de e-mail externo, como AWS SES , Mailgun , Portmark ou Sendgrid . Isso provavelmente também aumentará a capacidade de entrega de seus e-mails.

    
por 25.01.2012 / 00:42
0

Tem a correção!

Foi um palpite, mas eu reiniciei os serviços Spooler de Impressão e Cliente DNS no servidor e agora os e-mails são enviados com sucesso.

Mas ainda sei agora por que isso acontece em projetos do ASP.NET 1.1.

    
por 25.01.2012 / 19:34
0

A pergunta REAL é: por que a reinicialização de serviços não relacionados resolveu o problema? (Print spooler ???) DNS é relevante, eu vou te dar isso. Mas ainda assim - isso é estranho. Eu concordo com o Friism que usar um servidor SMTP externo seria melhor, eles são tão fáceis de se conectar no ASP.NET que você também pode ir direto para um servidor SMTP listado em branco, autenticado e tudo, em vez de usar um local servidor de retransmissão. A retransmissão de e-mails parece ser um processo muito duvidoso com todas as regras sobre spam e o que não acontece atualmente.

Outra dica para enviar por meio de servidores SMTP externos é usar a porta 587 em vez da porta 25. Alguns ISPs não gostam de pessoas que usam a porta 25 para algo que não seja seu próprio servidor de correio preferido.

    
por 25.01.2012 / 21:42