Eu tenho um aplicativo de envio de e-mail privado (Windows), que envia notificações de e-mail pelo protocolo SMTP. Isso pode parecer uma questão de código para StackOverflow , mas não é. O aplicativo funciona bem e sua função de envio de e-mail funciona muito bem. O problema é que, em alguns sistemas, em particular no meu sistema de desktop Windows 7 Ultimate, as conexões de saída são bloqueadas por algo difícil de identificar.
O problema que vejo é que em algum momento muito em breve de estabelecer a conexão, a conexão de soquete é fechada com o código 10053
, que é 0x2745
, que é WSAECONNABORTED
, que é" Uma conexão estabelecida foi abortada pelo software em sua máquina host. ". Em minha máquina host , e isso é quase certo - servidor remoto não é a fonte de desconexão. Às vezes, o aplicativo ainda tem tempo para enviar receber 1-2 mensagens antes que o canal seja fielmente destruído pelo poder de cima.
Meu primeiro palpite é que é simples, tem que ser o firewall ou antivírus. O único software desse tipo que é construído no firewall e no Windows Defender. Desligar o firewall não é útil, o Defender não está configurado para fazer qualquer atividade em tempo real, apenas é executado sob demanda. A máquina não é parte de um domínio ou algo - puro independente.
Para adicionar isso, tentei enviar conexões SSL e TLS seguras e isso não é útil. Ao mesmo tempo, não tenho problemas para enviar para os servidores do Gmail. Não sei o que faz essa diferença, pode ser um certificado SSL dos servidores do Google em conformidade, mas é apenas um caso específico.
As perguntas são: dado que a atividade é para abrir o socket para o servidor SMTP remoto e fazer a coisa de email, qual seria a causa no Windows para fechar esta conexão? Há alguma ferramenta para solucionar isso, para encontrar a causa e desativá-la?
Atualização de 2013-08-08:
WireShark mostra a seguinte sessão TCP: