当 ISA Server 2006 连接时重置为 SMTP 客户端 SMTP 服务器关闭它连接到 ISA 服务器

文章翻译 文章翻译
文章编号: 959312 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

请考虑以下情形:
  • 在 Microsoft Internet 安全性和加速 (ISA) Server 2006 启用了 SMTP 筛选。
  • SMTP 客户端与 ISA Server 2006 通过 SMTP 服务器进行通信。
  • SMTP 客户端将使用下列动作之一与 SMTP 服务器的对话中:
    • TLS
    • STARTTLS
    • X AnonymousTLS
在这种情况下 ISA Server 2006 连接当将重置为 SMTP 客户端关闭它的连接到 ISA 服务器使用 TCP FIN 数据包时 SMTP 服务器。此行为会导致某些特定的 SMTP 客户端报告邮件传递失败即使正确发送消息的应用程序。

在 ISA 记录中,您将看到下面的结果代码,为此连接:
0x80074e24 FWX_E_CONNECTION_KILLED

原因

通过设计,当 SMTP 服务器关闭它连接到 ISA 服务器与 SMTP 客户端的连接被重置。这是因为该通信进行加密时,ISA 服务器无法检查 SMTP 通信进行 SMTP QUIT 命令。但是,此行为可能导致特定的 SMTP 客户端应用程序报告错误。

解决方案

现在可以避免不正确的错误报告修补程序。此修补程序,默认行为,进行更改,因此,ISA 服务器 TCP FIN 数据包时返回给该 SMTP 客户端,而不是一个 RESET 数据包 SMTP 服务器关闭 TCP 连接使用 TCP FIN 数据包。要安装此修补程序后,请更改默认行为,您必须在 ISA 服务器计算机上运行脚本。

若要将此修补程序,请按照下列步骤操作:
  1. 下载,然后安装在下面的 Microsoft 知识库文章中的提到此修补程序包:
    959357ISA Server 2006 修补程序包的说明: 2008 年 10 月 29
  2. 启动记事本,然后将下面的脚本复制到一个记事本文件
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "GracefulPassthroughServerShutdown"
    Const SE_VPS_VALUE = true
    
    Sub 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 If
    
    End Sub
    
    Sub CheckError()
    
        If Err.Number <> 0 Then
            WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
            Err.Clear
        End If
    
    End Sub
    
    SetValue
    
  3. 通过使用.vbs 文件扩展名将文件另存为 Microsoft Visual Basic 脚本文件。
  4. 双击该.vbs 文件,若要运行该脚本。
注意如果要恢复到默认的行为更改脚本的以下行:
Const SE_VPS_VALUE = true

更改以下这行:
Const SE_VPS_VALUE = false

然后,重新运行该脚本在 ISA 服务器计算机上。

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。

参考

有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

属性

文章编号: 959312 - 最后修改: 2009年6月11日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft Internet Security and Acceleration Server 2006 Service Pack 1?当用于
    • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
    • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
关键字:?
kbmt kbexpertiseinter kbfix kbsurveynew kbqfe KB959312 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 959312
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com