INF:如何配置 SQL Mail

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

本文内容

概要

本文介绍了如何正确配置您的邮件客户端,使之与 SQL Mail 一起工作。本文还介绍了一些常见的缺陷,您在设置 SQL Mail 以便与 Exchange 或 Internet 邮件服务器一起工作时可能会遇到这些缺陷。

根据您所使用的 SQL Server 的版本,SQL Mail 和 SQLAgentMail 都可以与 Microsoft Exchange Server、Microsoft Windows NT Mail 或 Post Office Protocol 3 (POP3) 服务器连接。

SQL Mail 允许 SQL Server 通过与受支持的邮件服务器建立客户端连接来发送和接收电子邮件。为了使 SQL Mail 能够正常工作,您必须在可用的受支持邮件服务器上拥有一个邮件帐户,而且您的 SQL Server 计算机上必须已经安装并正确配置了符合 SQL Server 邮件应用程序编程接口 (MAPI) 标准的邮件客户端,如 Microsoft Outlook、Microsoft Exchange 客户端或 Microsoft Windows Messaging(对于 Windows NT 4.0)。

SQL Server 邮件客户端支持将取决于您的 SQL Server 版本以及所需的功能。

SQL Server 6.5 和 SQL Server 7.0

SQL Mail 会与 Microsoft Exchange Server、Microsoft Windows NT Mail 或 Post Office Protocol 3 (POP3) 服务器建立简单 MAPI 连接。

使用 SQLAgentMail 的 SQL Server 7.0

SQLAgentMail 会与 Microsoft Exchange Server、Microsoft Windows NT Mail 或 Post Office Protocol 3 (POP3) 服务器建立简单或扩展 MAPI 连接。

SQL Server 2000

SQL Mail 会与邮件主机建立扩展 MAPI 连接,而 SQLAgentMail 会建立单独的扩展 MAPI 连接。SQL Mail 和 SQLAgentMail 都可以与 Microsoft Exchange Server 或 Post Office Protocol 3 (POP3) 服务器连接。

注意:由于只提供扩展 MAPI 支持的限制,SQL Server 2000 需要 Microsoft Outlook 2000 客户端(或更高版本)。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
281293 FIX:SQL Mail 2000 Needs Microsoft Outlook 2000 Client
在配置 SQL Mail 之前,应先测试邮件客户端所使用的邮件配置文件,以验证您是否可以使用它向邮件服务器发送电子邮件或从中接收电子邮件。

警告:由于 MAPI 无法识别群集,所以如果在 SQL Server 故障转移群集中使用 SQL Mail,它将不会得到充分的支持。如果以群集化方式使用 SQL Mail,我们会“尽最大努力”为 SQL Mail 提供支持,但不能保证它的稳定性或可用性。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
298723 BUG:SQL Mail Not Fully Supported w/Cluster Virtual SQL Servers

更多信息

SQL Mail 概述

SQL Mail 允许 SQL Server 通过与邮件服务器建立客户端连接来发送和接收电子邮件。SQL Server 6.5 版使用一种服务处理邮件。SQL Server 7.0 和 SQL Server 2000 使用两种服务处理邮件:

  • MSSQLServer:为所有使用简单 MAPI(SQL Server 6.5 和 SQL Server 7.0)或扩展 MAPI (SQL Server 2000) 的邮件储过程处理邮件。

    - 和 -

  • SQLServerAgent:使用它自己的邮件功能(这些功能的配置和运行是跟 SQL Mail 分开的),并使用简单或扩展 MAPI。
为了与 MSSQLServer 所提供的 SQL Mail 功能进行区分,SQL Server 代理邮件功能被称为 SQLAgentMail

SQL Mail 和 SQLAgentMail 都可以与邮件主机建立 MAPI 连接。SQL Mail 和 SQLAgentMail 都可以与 Microsoft Exchange Server 或 Post Office Protocol 3 (POP3) 服务器连接。用于 SQL Server 6.5 和 SQL Server 7.0 的 SQLMail 和 SQLAgentMail 还可以与 Microsoft Windows NT Mail 连接,但是 SQL Server 2000 不支持该配置。由于 POP3/SMTP 协议存在的局限性和登录问题,Microsoft 建议您使用 Exchange Server 来实现可靠性。Microsoft 不支持使用 SQL Mail 与诸如 Lotus Notes、Lotus cc:Mail 或 Novell GroupWise 之类的邮件服务器进行通信,除非将它们视为 POP3 服务器。

SQL Mail 是一个支持邮件的应用程序。当您发送邮件时,SQL Mail 使用 Mapi32.dll 文件进行 API 调用,以启动 Windows Messaging 子系统 (Mapisp32.exe) 的 MAPI 假脱机程序,然后发送该邮件并关闭假脱机程序。在较旧的邮件客户端中,MAPI 假脱机程序无法与 NT 服务一起使用。如果使用这些较旧的 MAPI 假脱机程序,SQL Mail 生成的待发邮件就会停留在发件箱内,直到邮件客户端被打开。Microsoft Windows NT 4.0 Service Pack 3 中已修复此问题,但由于产品不兼容,后续 NT 4.0 Service Pack 中都没有包含此修复程序。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
159425 PRB:Message Blocked with SQLMail and Exchange Client
配置 SQL Mail 时出现的多个问题都是由于使用错误的 Mapi32.dll 文件而导致的。

设置 SQL Mail 之前

SQL Mail 需要一个邮件连接、一个邮箱、一个邮件配置文件和用于启动 SQL Server 的 Windows NT 帐户。如果您使用 Exchange 服务器作为您的邮件服务器,则该 Windows NT 帐户必须是一个域帐户。如果使用 POP3/SMTP 邮件服务器,则该帐户可以是本地帐户也可以是域 NT 帐户。

基本步骤如下:使用用于启动 SQL Server 的帐户登录到您的 Windows NT 服务器,设置邮件配置文件,测试邮件连接,然后向 SQL Mail 提供此邮件配置文件。选择配置文件名时,请尽量不要包含特殊字符(如连接符、磅字符、句点等),因为这些字符对 Exchange 客户端(例如 Outlook)有效,但对 SQL Server 6.5 版的 SQL Mail 无效。由于同样的原因,配置文件名也不能超过 32 个字符。

为获得最佳效果,请使用 Microsoft Exchange Server 来发送和接收 SQL Mail。Microsoft Windows NT Mail 是一个有限的邮件程序,在发布 Microsoft Exchange Server 产品线所提供的功能齐全的邮件服务之前,它包含在 Microsoft Windows NT 中,而且不能与 SQL Mail 2000 一起使用。

如果您使用的是第三方邮件服务器(例如 Lotus Notes、Lotus cc:Mail、Novell GroupWise 等),则必须将邮件服务器配置为 POP3 服务器。如果这些邮件服务器使用的本地邮件服务可能是由第三方邮件客户端安装的,Microsoft 将不支持连接到这些服务器。有些第三方邮件客户端不支持 SQL Mail 所需的 MAPI。请与第三方供应商联系,或者参考 http://www.microsoft.com/exchange/default.mspx Web 站点,获取有关使用第三方邮件客户端或 Exchange 连接器可用性的帮助,以集成 Exchange 和当前邮件服务提供商。

如何使用 Exchange 设置 SQL Mail

  1. 在 Microsoft Exchange 服务器上,为 MSSQLServer 服务要使用的用户帐户设置一个邮箱。此帐户必须是一个域帐户。例如:
    帐户: DOMAIN1\SQLServerAccount
    邮箱: SQL1
  2. 在 SQL Server 计算机上,使用 MSSQLServer 服务要使用的同一用户帐户登录到 Windows NT 上。

    在前面第 1 步的示例中,该帐户应该是:
    DOMAIN1\SQLServerAccount
  3. 在 SQL Server 计算机上安装 Exchange 客户端。当运行 SQL Server 6.5 或 SQL Server 7.0 时,该客户端可以是 Microsoft Exchange Server、Microsoft Outlook 98 或 Microsoft Outlook 2000 附带的客户端应用程序。为防止电子邮件病毒传播而为 Outlook 2000 添加的 Outlook 安全修补程序会导致 SQL Mail 6.5 或 7.0 停止响应(挂起)。由于 Outlook 2002 中也包括此安全功能,因此它也会导致 SQL Mail 6.5 或 7.0 挂起。(有关问题原因的详细说明,请参阅本文中后面的“Outlook 2000 客户端”一节。)

    当运行 SQL Server 2000 时,邮件客户端必须是 Microsoft Outlook 2000 或 Outlook 2002 客户端。因为 SQL Mail 2000 会与邮件服务器建立扩展 MAPI 连接,因此它不受 Outlook 安全功能的影响。如果使用 SQL Server 2000 Service Pack 1,那么您也可以使用 Outlook 98。

    有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    281293 FIX:SQL Mail 2000 Needs Outlook 2000 Client
  4. 启动 Exchange 客户端并配置该客户端以连接到 Microsoft Exchange Server。您需要提供 Exchange 服务器和 Exchange 服务器上邮箱的名称。完成设置后,验证您是否可以交互式地发送和接收邮件。然后可以关闭客户端。
  5. 控制面板中启动“邮件”应用程序。单击显示配置文件以查找在第 4 步中配置的配置文件的名称。如果配置文件名超过 32 个字符或者包含特殊字符(句点、连字符、磅字符等),请更改配置文件名,使之少于 32 个字符,并删除特殊字符(可以使用空格)。
  6. 控制面板中,单击服务,然后验证 MSSQLServer 服务是否配置为您在第 2 步中用来登录的同一 Windows NT 用户帐户下运行。如有必要,请启动或重新启动 MSSQLServer 服务。在 SQL Server 7.0 和 SQL Server 2000 中,如果您正在计算机上使用“全文搜索”服务,请通过 SQL 企业管理器来完成对启动帐户的所有更改。
  7. 配置 SQL Mail 以使用在第 5 步中找到的配置文件名。SQL Mail 将使用为 MSSQLServer 服务配置的帐户和密码来登录 Exchange 服务器。

    注意:对于 SQL Server 7.0 或 SQL Server 2000,如果您键入的配置文件名无法识别,或者下拉列表框中没有出现任何配置文件,说明您已经在本地系统帐户下启动了 MSSQLServer 服务。将此服务更改为在域帐户下启动,停止并重新启动 SQL Server,然后尝试重新配置邮件配置文件。
  8. 启动 SQL Mail。如果 SQL Mail 成功启动,SQL Mail 图标将变为绿色。(使用 SQL Server 2000 时无须此步骤,因为 SQL Mail 会在您首次尝试发送邮件时自动启动。)通过打开一个查询窗口并使用 xp_sendmail 向您自己发送电子邮件来测试 SQL Mail。如果您使用的是 SQL Server 7.0 或 SQL Server 2000,还需使用同一配置文件来配置 SQLAgentMail。可以通过向操作员发送邮件来测试 SQLAgentMail。

如何使用 Internet 邮件服务器设置 SQL Mail

警告:除非您保证肯定能够连接到您的 Internet 邮件服务器,而不需要重新对邮件登录进行身份验证,否则 SQL Mail 可能会挂起,强制您停止并重新启动 SQL Server。使用 Internet 邮件服务器并不是推荐的解决方案,但是在有些情况下,它可能是唯一的替代方法。

使用 Internet 邮件服务器(POP3/SMTP 服务器)设置 SQL Mail 的步骤与使用 Exchange Server 设置 SQL Mail 的步骤类似:
  1. 在 POP3 服务器(用于传入电子邮件)上,为 SQL Mail 要使用的用户帐户设置一个邮箱。您需要在 POP3 邮件服务器上拥有一个帐户(即使根本不会有传入邮件需要 SQL Mail 处理),因为邮件客户端被设计为在发送待发邮件之前先检查传入邮件。如果 SMTP 服务器与 POP3 服务器不同,您还必须在 SMTP 服务器上为待发邮件设置一个邮箱。
  2. 在 SQL Server 计算机上安装 Internet 邮件客户端。当您使用 SQL Mail 6.5 或 SQL Mail 7.0 时,Microsoft 只支持下列 Internet 邮件客户端应用程序:Microsoft Windows Messaging(随 Windows NT 4.0 一起提供)、Microsoft Outlook 98 和 Microsoft Outlook 2000。为防止电子邮件病毒传播而为 Outlook 2000 添加的 Outlook 安全修补程序会导致 SQL Mail 6.5 或 7.0 挂起。任何使用 Outlook 2002 发送的非 Exchange 邮件都需要服务器上的 Outlook 客户端能够积极运行。

    当您使用 SQL Mail 2000 时,唯一可以使用的 Internet 邮件客户端应用程序就是 Microsoft Outlook 2000。如果您愿意让服务器上的 Outlook 客户端一直开着,也可以使用 Outlook 2002。如果使用 SQL Server 2000 Service Pack 1,那么您也可以使用 Outlook 98。

    有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    281293 FIX:SQL Mail 2000 Needs Outlook 2000 Client
    因为 Microsoft Outlook Express 不创建“邮件”配置文件,所以 Outlook Express 无法与 SQL Mail 一起工作。
  3. 使用用于启动 SQL Server 的 Windows NT 帐户登录到 Windows NT 服务器。启动 Internet 邮件客户端,然后配置一个配置文件,以使用 Internet 邮件服务并连接到 POP3(传入)和 SMTP(传出)服务器。为访问 POP3/SMTP 服务器而提供的帐户名和密码是您在第 1 步中创建的邮件帐户(它不必与用于启动 SQL Server 的帐户相同)。完成设置后,验证您是否可以交互式地发送和接收邮件。然后可以关闭邮件客户端应用程序。

    设置 Internet 邮件服务会创建一个个人存储文件 (.pst),用来存储从 POP3 服务器上下载的邮件。此 .pst 文件供使用此邮件配置文件的所有服务使用,如果 SQL Mail 和 SQL Agent Mail 同时使用相同的邮件配置文件,就会导致冲突。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    313969 PRB:The Error 'Cannot Open .pst File' Occurs When You Use a POP3 Server Profile with SQL Mail
    如果要为 .pst 文件指定位置,请不要使用网络共享。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    297019 OL2000: Why .pst Files Are Not Recommended over a LAN or WAN Link
  4. 控制面板中,单击邮件,以打开邮件应用程序。单击显示配置文件,查找在前面的步骤中配置的配置文件的名称(例如“Internet Settings”)。使用 Exchange 服务器设置 SQL Mail 时存在的配置文件名的长度和特殊字符的限制此处同样适用。
  5. 控制面板中,单击服务,然后验证 MSSQLServer 服务是否配置为在用于设置邮件配置文件的 Windows NT 用户帐户下运行。如有必要,请启动或重新启动 MSSQLServer 服务。
  6. 配置 SQL Mail 以使用您在第 4 步中找到的配置文件名。

    注意:对于 SQL Server 7.0 或 SQL Server 2000,如果您键入的配置文件名无法识别,或者下拉列表框中没有出现任何配置文件,说明您已经在本地系统帐户下启动了 MSSQLServer 服务。将此服务更改为在有效的 Windows NT 帐户下启动,停止并重新启动 SQL Server,然后尝试重新配置邮件配置文件。
  7. 启动 SQL Mail。如果 SQL Mail 已成功启动,SQL Mail 图标将变为绿色。(使用 SQL Server 2000 时无须此步骤,因为 SQL Mail 会在您首次尝试发送邮件时自动启动。)通过打开一个查询窗口并使用 xp_sendmail 向您自己发送电子邮件来测试 SQL Mail。如果您使用的是 SQL Server 7.0 或 SQL Server 2000,还需使用同一配置文件来配置 SQLAgentMail。可以通过向操作员发送邮件来测试 SQLAgentMail。
警告:如果您试图使用 SQL Mail 与 POP3/SMTP 邮件服务器建立连接,您必须能够通过使用下列步骤来反复连接并发送邮件:
  1. 单击启动邮件客户端的图标。
  2. 向配置文件中所列的同一电子邮件地址发送邮件,以便您能够同时测试发送和接收功能。
  3. 退出邮件客户端。
  4. 重复几次第 1 至第 3 步,模拟预期的电子邮件通信。
注意:如果在此过程的任一时刻出现了任何需要响应(例如单击确定以便登录)的对话框,或者提示您输入密码,说明它将无法与 SQL Mail 一起工作。要使 Internet 邮件连接能够与 SQL Mail 一起工作,您必须具有 100% 的连通性,否则 SQL Mail 将不可用,并且您可能必须重新启动服务器以消除此问题。

出现此问题的原因是 SQL Mail 在访问 POP3 帐户时不提供重试机会。如果第一次尝试时 SQL Mail 无法连接到 POP3 服务器,Internet 邮件连接器通常会打开一个对话框,提示您单击确定进行重试。如果发生这种情况,作为 MSSQLServer 服务的一部分运行的 SQL Mail 根本看不到此对话框,并且在此时停止响应。您可能必须停止 Mapisp32.exe 应用程序,甚至要重新启动 Windows NT 计算机以便消除此问题。

Windows Messaging 客户端

此客户端可以与 SQL Server 6.5 和 7.0 一起使用,但不能与 SQL Server 2000 一起使用。Microsoft Windows Messaging 邮件客户端是随 Windows NT 4.0 一起发行的,它支持 Microsoft 邮件和 Internet 邮件 (POP3/SMTP)。通过 SQL Mail 发送的待发邮件中存在一个已知问题:在 Windows Messaging 客户端打开之前,这些邮件会一直停留在发件箱中。引起此问题的原因是不能从 Windows NT 服务中调用 MAPI 假脱机程序。Microsoft Windows NT 4.0 Service Pack 3 中已修复此问题,但由于该修补程序会导致产品不兼容,因此以后的 Windows NT Service Pack 内部版本中都没有包含它。

如果您在应用 Service Pack 3 之前安装了 Windows Messaging,很可能已经具有用于解决此问题的修补程序。如果您在应用 Service Pack 3 之后安装或重新安装了 Windows Messaging,则需要与 Microsoft 产品支持服务联系,以获取 Mapi32.dll 文件的修补程序。 要确定您是否需要修补程序,请在计算机上查找 Mapi32.dll 文件,并检查文件的日期和大小。例如,如果您的 Mapi32.dll 的日期为 10/14/1996,大小为 621 KB(文件版本为 4.0),则该文件版本会导致待发 SQL Mail 停留在发件箱中。如果 Mapi32.dll 文件的日期为 5/1/1997,大小为 701 KB(Windows NT 4.0 Service Pack 3 中包含的修补程序的日期和大小),那么它就是正确的文件版本(也是 4.0 版)。因为版本号相同,因此在确定您是否拥有正确的 Mapi32.dll 文件时,使用文件的大小和日期比使用版本号更可靠。

Microsoft Windows 2000 中不包含 Windows Messaging;因此,如果您使用的是 Windows 2000,则需要购买 Microsoft Outlook,以便能够可靠地将 SQL Mail 与 Internet 邮件服务器一起使用。

Outlook 97 或 Outlook 98 客户端

Outlook 98 客户端可以与 SQL Server 6.5 和 7.0 一起使用,但不能与 SQL Server 2000 一起使用,除非您已经应用了 SQL Server 2000 Service Pack 1。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
281293 FIX:SQL Mail 2000 Needs Outlook 2000 Client
Microsoft Outlook 支持 Exchange 邮件和 Internet 邮件 (POP3/SMTP)。Outlook 97 随 Microsoft Office 97 一起发行,它会安装一个日期为 12/20/96、大小为 714 KB 的 Mapi32.dll 文件。因为 Outlook 97 没有设计为在 Windows NT 服务中使用,所以,如果服务器上的 Outlook 客户端没有开着,Mapi32.dll 文件(版本 4.00.993.3)将会导致来自 SQL Mail 的待发电子邮件停留在发件箱中。要解决此问题,请升级到 Outlook 98 或 Outlook 2000。

Outlook 98 是一个独立的产品,旨在替代 Outlook 97。当您安装 Outlook 98 时,请选择用于企业或工作组选项。而不要选择仅用于 Internet 选项。仅用于 Internet 选项只安装 Mapi32.dll 文件的存根(大小为 32 KB,日期为 3/26/1998,版本为 5.5.2163.0),并且此文件版本无法与 SQL Mail 一起工作。对于 Outlook 98,能与 SQL Mail 一起工作的正确的 Mapi32.dll 版本是 5.5.2174.0 或更高版本(日期为 3/26/1998,大小为 857 KB)。用于企业或工作组选项仍然允许您将 Outlook 98 和 POP3/SMTP Internet 邮件服务器一起使用。如果您使用仅用于 Internet 选项安装了 Outlook 98,请在控制面板中,使用添加/删除程序重新运行 Outlook 98 安装程序,并重新安装 Outlook 98 组件。您还需要重新创建邮件配置文件。

如果使用用于企业或工作组选项,Outlook 98 将不支持基于 Internet 消息访问协议 (IMAP) 的邮件。如果需要 IMAP 支持,除安装 Outlook 之外,您还需要安装 Outlook Express,以发送和接收基于 IMAP 的邮件。使用 Outlook Express 来发送和接收基于 IMAP 的邮件,并为 SQL Mail 提供 Outlook 邮件配置文件。

Outlook 2000 客户端

此客户端可以与 SQL Server 6.5、SQL Server 7.0 和 SQL Server 2000 一起使用。

Microsoft Outlook 2000 随 Microsoft Office 2000 一起发行,它支持 Exchange 邮件和 Internet 邮件 (POP3/SMTP)。在 Outlook 2000 中,MAPI 模型发生了彻底的更改。Outlook 2000 只使用一个 MAPI 存根(大小为 128 KB)而不是整个 MAPI 库。该模块根据 Windows NT 计算机上所安装的语言,指向要使用的正确的 MAPI 库文件(例如 \Program Files\Common Files\System\Mapi\1033\NT 文件夹中的 Msmapi32.dll 文件)。将 Mapi32.dll 存根替换为一个不同的版本会中断 Outlook 2000,并且您需要运行 Fixmapi.exe 来纠正此问题。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
195795 OL2000:(CW) Troubleshooting Outlook Configuration Problems

还必须使用用于企业或工作组选项来安装 Outlook 2000。要验证您已经正确安装了 Outlook 2000,请在 Outlook 2000 的工具菜单上,单击选项。根据 Outlook 的当前配置方式,单击邮件服务选项卡或邮件传递选项卡。您将看到重新配置邮件支持命令按钮。如果单击重新配置邮件支持,将会打开一个对话框。如果没有选中用于企业或工作组选项,请单击以选中它,Outlook 2000 将重新配置它自身,不需要您删除并重新安装该程序。但是,您必须重新创建邮件配置文件。

注意:如果确实进行了更改并选择了用于企业或工作组选项,则必须重新启动 SQL Server 以使更改生效。

安装 Outlook 2000 之后,应至少存在两个 Mapi32.dll 文件,一个文件的日期为 1/14/1999,版本为 1.0.2536.0,位于 \Winnt\System32 目录中(它是为了能够向后兼容支持邮件的应用程序(如 SQL Mail)而提供的,但不供 Outlook 2000 使用);另一个文件的日期为 1/26/1999,版本为 1.0.2518.0,位于 \Program Files\Common Files\System\Mapi\1033\NT 目录中(它由 Outlook 2000 使用)。如果 \Winnt\System32 目录中没有 Mapi32.dll 文件,Outlook 2000 或许可以正常工作,但您将无法启动 SQL Mail。如果出现这种情况,请将 Mapi32.dll 文件从 \Program Files 文件夹复制到 \Winnt\System32 文件夹。

为响应由电子邮件蠕虫所带来的威胁,Microsoft 发布了一个 Outlook 2000 安全修补程序,当非 Outlook 程序试图发送邮件时,它会通知用户,并要求用户通过单击来指示是否允许此行为。由于 SQL Mail 是通过 SQL Server 服务运行的,所以此安全弹出式屏幕被发送到虚拟桌面上,用户根本看不到。因为要等到用户响应后邮件才能发送,所以最终结果是 SQL Mail 将挂起。

用于 SQL Server 6.5 或 SQL Server 7.0 的 SQL Mail 中会出现此问题,因为它们会与邮件客户端建立简单 MAPI 连接,而这会触发安全弹出式屏幕。因为用于 SQL Server 2000 的 SQL Mail 会建立扩展 MAPI 连接,因此它会忽略安全弹出式屏幕。

如果 Outlook 2000 的版本是 9.0.0.4201 或更高版本(可在 Outlook 2000 的“关于 Microsoft Outlook”框中查看),说明您已经安装了 Outlook 安全更新。请与您的 Exchange 管理员联系,了解是否可以放宽默认的安全约束。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
263297 OL2000:有关 Outlook 电子安全更新的管理员信息

Outlook 2002 客户端

此客户端可以与 SQL Server 2000 一起使用。

Microsoft Outlook 2002 是随 Microsoft Office XP 一起发行的,它支持 Exchange 邮件和 Internet 邮件 (POP3/SMTP)。Outlook 2002 使用统一的配置,没有为“企业或工作组”或“仅支持 Internet Mail”提供单独的配置选项。Outlook 2002 还包括安全功能,这些功能最初包含在 Outlook 2000 安全修补程序中以防范电子邮件蠕虫。

在 Outlook 2002 中,MAPI 假脱机程序逻辑是在进程内移动的,因此,发送的任何非 Exchange 邮件(例如发送到 Internet 邮件服务器的邮件)都需要服务器上的 Outlook 客户端能够积极运行。如果 Outlook 客户端没有打开,待发邮件就会保留在收件箱中,直到 Outlook 客户端打开,将它们发送出去。将邮件发送到 Exchange 服务器时不会出现此问题。

Microsoft Outlook 2002 电子邮件安全功能针对恶意的电子邮件提供了附加级别的保护。从 SQL Mail 的角度看,其中一项重要功能是确认自动发送电子邮件。因为安全功能是由简单 MAPI 连接所触发的,因此如果在 SQL Server 6.5 和 SQL Server 7.0 上与 SQL Mail 一起使用 Outlook 2002,它可能会导致 SQL Mail 因安全弹出式屏幕而挂起。请与您的 Exchange 管理员联系,了解是否可以放宽默认的安全约束。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290499 OL2002:有关电子邮件安全功能的管理员信息

Internet Explorer 和 Outlook Express 客户端

因为 SQL Mail 需要邮件配置文件,而 Outlook Express 不会创建该文件,因此不支持 SQL Mail 与 Outlook Express 一起使用。即使没有明确地设置 Outlook Express 作为您的默认邮件客户端,但是安装或升级 Internet Explorer 仍可能会导致将 Outlook Express 设置为默认邮件客户端。

在有些版本的 Internet Explorer 或 Outlook Express(例如 Internet Explorer 5.0)中,SQL Server 会忽略提供的邮件配置文件,并试图使用默认邮件客户端。例如,如果默认邮件客户端是 Outlook Express,SQL Mail 可能会忽略所提供的 Outlook 邮件配置文件(即使已通过 SQL Mail 的测试按钮成功测试了该配置文件),并试图使用 Outlook Express 启动。如果 Outlook Express 没有配置为连接到 POP3/SMTP 服务器,SQL Mail 就会停止响应,或者报告错误信息,指出无法连接到邮件服务器。如果您试图通过 SQL 企业管理器启动 SQL Mail,并且它停止响应,您可能必须使用任务管理器对 SQL 企业管理器执行结束任务,以消除此问题。

要确定您使用的默认邮件客户端,请按照下列步骤操作:
  1. 打开控制面板并双击 Internet 选项
  2. 单击程序选项卡,检查是选择了 Outlook Express、Netscape Messenger 还是其他某个邮件客户端。从下拉组合框中为电子邮件选择 Microsoft Outlook(如果已安装)。
  3. 在尝试启动 SQL Mail 之前,先停止并重新启动 SQL Server。
如果您使用的不是 Internet Explorer 5.0,Internet 选项对话框的程序选项卡中的选项会稍有不同。如果您使用的是非 Microsoft 浏览器,这些选项可能完全不同。

除了使 Outlook Express 成为您的默认邮件客户端外,安装 Internet Explorer 可能还会将您运行正常的 Mapi32.dll 文件重新命名为 Mapi32x.dll,以便为 Outlook Express 安装 MAPI 存根。然后,如果您尝试启动 SQL Mail,当它试图使用该 MAPI 文件时它就会失败。

如果在安装或升级 Internet Explorer 之前您的 SQL Mail 配置可以正常工作,请搜索您的 \Winnt\System32 目录,以查看它是否包含 Mapi32.dll 和 Mapi32x.dll。如果这两个文件的大小差别很大(例如,Mapi32.dll 为 128 KB 而 Mapi32x.dll 为 701 KB),则互换(交换)这两个文件的名称,并尝试重新启动 SQL Mail。

其他信息

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
311231 INF:常见问题 - SQL Server - SQL Mail
315886 INF:常见 SQL Mail 问题
有关更多信息,请访问下面的 Microsoft Web 站点:
Support WebCast:Troubleshooting Microsoft SQL Mail(支持网络发布:Microsoft SQL Mail 疑难解答)
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com/servicedesks/webcasts/wc091301/wcblurb091301.asp

有关更多信息,请参考以下书籍:
Microsoft CorporationMicrosoft SQL Server 7.0 System Administration Training Kit Microsoft Press, 2001

属性

文章编号: 263556 - 最后修改: 2011年5月17日 - 修订: 5.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 6.5 标准版
  • Microsoft SQL Server 7.0 标准版
  • Microsoft SQL Server 2000 标准版
关键字:?
kbsqldeveloper kbinfo kbsqlservmail KB263556
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