Nossa empresa usa o Office 365 e nosso email é hospedado no Exchange on-line; no entanto, temos vários aplicativos que não podem enviar mensagens diretamente para o Exchange Online devido a vários motivos (principalmente falta de suporte para SMTP autenticado com TLS); Assim, configuramos vários retransmissores internos de email usando o componente SMTP do IIS, conforme sugerido aqui ; cada um deles usa um endereço de remetente diferente e precisa se autenticar no Exchange Online usando uma conta de usuário diferente, portanto, precisamos de uma retransmissão SMTP para cada aplicativo; É por isso que temos vários deles, cada um rodando no servidor que hospeda o aplicativo necessário para retransmitir mensagens. Todos esses relés SMTP são configurados exatamente da mesma maneira, apenas as contas de usuário são diferentes.
A maioria desses relés SMTP é executada nos sistemas Windows Server 2008 R2 ou Windows Server 2012; no entanto, um desses aplicativos precisa ser executado em um sistema Windows Server 2003 e, portanto, sua retransmissão SMTP, que está hospedada no mesmo sistema, é executada no IIS 6.
Tudo costumava funcionar bem até alguns dias atrás; então, o retransmissor SMTP parou de funcionar apenas no sistema Windows Server 2003, enquanto continuou funcionando bem em todos os outros sistemas; os logs do SMTP mostram um comportamento muito estranho: parece que algo fica preso depois que um comando AUTH é emitido e, em seguida, o servidor remoto desconecta a conexão devido a um tempo limite:
2015-03-07 17:44:27 157.56.251.50 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 220+AMXPR07CA0050.outlook.office365.com+Microsoft+ESMTP+MAIL+Service+ready+at+Sat,+7+Mar+2015+17:44:38++0000 0 0 108 0 16 SMTP - - - -
2015-03-07 17:44:27 157.56.251.50 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 EHLO - <OurServerName> 0 0 4 0 32 SMTP - - - -
2015-03-07 17:44:27 157.56.251.50 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 250-AMXPR07CA0050.outlook.office365.com+Hello+[<OurPublicIPAddress>] 0 0 60 0 63 SMTP - - - -
2015-03-07 17:44:27 157.56.251.50 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 STARTTLS - - 0 0 8 0 63 SMTP - - - -
2015-03-07 17:44:27 157.56.251.50 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 220+2.0.0+SMTP+server+ready 0 0 27 0 94 SMTP - - - -
2015-03-07 17:44:30 157.56.251.50 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 EHLO - <OurServerName> 0 0 4 0 2829 SMTP - - - -
2015-03-07 17:44:30 157.56.251.50 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 250-AMXPR07CA0050.outlook.office365.com+Hello+[<OurPublicIPAddress>] 0 0 60 0 2860 SMTP - - - -
2015-03-07 17:44:30 157.56.251.50 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 AUTH - - 0 0 4 0 2860 SMTP - - - -
2015-03-07 17:49:31 157.56.251.50 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 451+4.7.0+Timeout+waiting+for+client+input 0 0 42 0 303875 SMTP - - - -
2015-03-07 17:49:31 132.245.226.242 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 220+DB4PR06CA0004.outlook.office365.com+Microsoft+ESMTP+MAIL+Service+ready+at+Sat,+7+Mar+2015+17:49:43++0000 0 0 108 0 62 SMTP - - - -
2015-03-07 17:49:31 132.245.226.242 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 EHLO - <OurServerName> 0 0 4 0 62 SMTP - - - -
2015-03-07 17:49:31 132.245.226.242 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 250-DB4PR06CA0004.outlook.office365.com+Hello+[<OurPublicIPAddress>] 0 0 60 0 109 SMTP - - - -
2015-03-07 17:49:31 132.245.226.242 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 STARTTLS - - 0 0 8 0 109 SMTP - - - -
2015-03-07 17:49:31 132.245.226.242 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 220+2.0.0+SMTP+server+ready 0 0 27 0 156 SMTP - - - -
2015-03-07 17:49:34 132.245.226.242 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 EHLO - <OurServerName> 0 0 4 0 2609 SMTP - - - -
2015-03-07 17:49:34 132.245.226.242 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 250-DB4PR06CA0004.outlook.office365.com+Hello+[<OurPublicIPAddress>] 0 0 60 0 2656 SMTP - - - -
2015-03-07 17:49:34 132.245.226.242 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 AUTH - - 0 0 4 0 2656 SMTP - - - -
2015-03-07 17:54:34 132.245.226.242 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 451+4.7.0+Timeout+waiting+for+client+input 0 0 42 0 303015 SMTP - - - -
2015-03-07 17:54:34 157.56.254.178 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 220+DBXPR05CA0038.outlook.office365.com+Microsoft+ESMTP+MAIL+Service+ready+at+Sat,+7+Mar+2015+17:54:46++0000 0 0 108 0 47 SMTP - - - -
2015-03-07 17:54:34 157.56.254.178 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 EHLO - <OurServerName> 0 0 4 0 47 SMTP - - - -
2015-03-07 17:54:34 157.56.254.178 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 250-DBXPR05CA0038.outlook.office365.com+Hello+[<OurPublicIPAddress>] 0 0 60 0 94 SMTP - - - -
2015-03-07 17:54:34 157.56.254.178 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 STARTTLS - - 0 0 8 0 94 SMTP - - - -
2015-03-07 17:54:34 157.56.254.178 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 220+2.0.0+SMTP+server+ready 0 0 27 0 140 SMTP - - - -
2015-03-07 17:54:37 157.56.254.178 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 EHLO - <OurServerName> 0 0 4 0 2640 SMTP - - - -
2015-03-07 17:54:37 157.56.254.178 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 250-DBXPR05CA0038.outlook.office365.com+Hello+[<OurPublicIPAddress>] 0 0 60 0 2672 SMTP - - - -
2015-03-07 17:54:37 157.56.254.178 OutboundConnectionCommand SMTPSVC1 <OurServerName> - 0 AUTH - - 0 0 4 0 2672 SMTP - - - -
2015-03-07 17:59:37 157.56.254.178 OutboundConnectionResponse SMTPSVC1 <OurServerName> - 0 - - 451+4.7.0+Timeout+waiting+for+client+input 0 0 42 0 303703 SMTP - - - -
Isso só acontece na retransmissão SMTP sendo executada no IIS 6 no Windows Server 2003; está tudo bem em todos os outros relés SMTP em execução nos sistemas Windows Server 2008 R2 ou Windows Server 2012.
Suspeitando de algum problema naquele servidor específico (que já é bem conhecido por ter vários problemas), criamos uma nova máquina com Windows Server 2003 para mover o aplicativo para ela; no entanto, o novo servidor exibe exatamente o mesmo comportamento : a conversa SMTP de saída para com o mesmo erro após a emissão do comando AUTH.
Por curiosidade, tentamos configurar a mesma conta no Outlook Express no servidor; funciona bem , e pode enviar e-mails usando SMTP autenticado com TLS para o Exchange Online; o problema parece apenas afetar o componente SMTP do IIS, e não parece estar relacionado à rede, ao O.S. ou a qualquer outra coisa.
O que pode estar causando esse erro e como podemos corrigi-lo?
(Sabemos que não deveríamos mais usar o Windows Server 2003; no entanto, o aplicativo só pode ser executado lá e precisa continuar trabalhando até que possa ser substituído. Também sabemos que poderíamos mover o relé SMTP para outro servidor executando um sistema operacional mais recente, mas seria interessante descobrir por que a retransmissão SMTP está falhando apenas no IIS 6.)