ISA Server 2006 ou Forefront TMG 2010 repõe a ligação para o cliente de SMTP quando o servidor de SMTP fecha a ligação ao ISA Server

Sintomas

Considere o seguinte cenário:

  • No Microsoft Internet Security e Acceleration (ISA) Server 2006 ou Forefront TMG 2010, activar a filtragem de SMTP.

  • Um cliente de SMTP comunica com um servidor de SMTP através do ISA Server 2006 ou Forefront TMG 2010.

  • O cliente de SMTP utiliza uma das seguintes verbos na sua conversação com o servidor de SMTP:

    • TLS

    • STARTTLS

    • X-AnonymousTLS

Neste cenário, o ISA Server 2006 ou Forefront TMG 2010 repõe a ligação para o cliente de SMTP quando o servidor de SMTP fecha a ligação para o ISA Server ou Forefront TMG 2010 com um pacote TCP FIN. Este comportamento pode causar alguns clientes de SMTP específico aplicações relatar a entrega de mensagens falhou, apesar das mensagens são enviadas correctamente. No registo de ISA, consulte o seguinte código de resultado para esta ligação:

0x80074e24 FWX_E_CONNECTION_KILLED

Causa

Por predefinição, a ligação para o cliente de SMTP é reposta quando o servidor de SMTP encerra a ligação para o ISA Server ou Forefront TMG 2010. Isto acontece porque o ISA Server ou Forefront TMG 2010 não é possível inspeccionar o tráfego de SMTP para o comando de SMTP Sair quando o tráfego está encriptado. No entanto, este comportamento pode fazer com que aplicações específicas do cliente de SMTP para relatar erros.

Resolução

Uma correcção está agora disponível para evitar a relatórios de erro incorrecta. Esta correcção permite que o comportamento predefinido ser alterada para que o ISA Server devolve um pacote TCP FIN para o cliente de SMTP em vez de um pacote de reposição, quando o servidor de SMTP encerra a ligação de TCP com um pacote TCP FIN. Para alterar o comportamento predefinido depois de instalar esta correcção, tem de executar um script no computador do ISA Server. Para aplicar esta correcção, siga estes passos:

  1. Transfira e instale o pacote de correcção mencionada no seguinte artigo da Base de dados de conhecimento da Microsoft:

    Descrição de 959357 do pacote de correcções do ISA Server 2006: 29 de Outubro de 2008Nota: Se estiver a executar o Forefront TMG 2010, copie o script a partir do passo 2 para um ficheiro do bloco de notas e guardá-lo. Abra a linha de comandos com privilégios elevados e, em seguida, executar o script (ie: cscript smtp.vbs).

  2. Inicie o bloco de notas e, em seguida, copie o script seguinte para um ficheiro do bloco de notas.

    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "GracefulPassthroughServerShutdown"Const SE_VPS_VALUE = trueSub SetValue()    ' Create the root obect.    Dim root  ' The FPCLib.FPC root object    Set root = CreateObject("FPC.Root")    'Declare the other objects needed.    Dim array       ' An FPCArray object    Dim VendorSets  ' An FPCVendorParametersSets collection    Dim VendorSet   ' An FPCVendorParametersSet object    ' Get references to the array object    ' and the network rules collection.    Set array = root.GetContainingArray    Set VendorSets = array.VendorParametersSets    On Error Resume Next    Set VendorSet = VendorSets.Item( SE_VPS_GUID )    If Err.Number <> 0 Then        Err.Clear        ' Add the item        Set VendorSet = VendorSets.Add( SE_VPS_GUID )        CheckError        WScript.Echo "New VendorSet added... " & VendorSet.Name    Else        WScript.Echo "Existing VendorSet found... value- " &  VendorSet.Value(SE_VPS_NAME)    End If    if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then        Err.Clear        VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE        If Err.Number <> 0 Then            CheckError        Else            VendorSets.Save false, true            CheckError            If Err.Number = 0 Then                WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"            End If        End If    Else        WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"    End IfEnd SubSub CheckError()    If Err.Number <> 0 Then        WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description        Err.Clear    End IfEnd SubSetValue
  3. Guarde o ficheiro como um ficheiro de script do Microsoft Visual Basic utilizando a extensão de nome de ficheiro. vbs.

  4. Faça duplo clique no ficheiro. vbs para executar o script.

Nota Se pretender reverter para o comportamento predefinido, altere a seguinte linha do script:

Const SE_VPS_VALUE = true

Altere esta linha para o seguinte:

Const SE_VPS_VALUE = false

Em seguida, volte a executar o script no computador do ISA Server ou Forefront TMG.

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Referências

Para mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:

824684Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×