创建供 SQL Server Database Mail 使用的 SMTP 服务器。

使用以下任何版本的 SQL 时,需要 SQL Server Database Mail 才能配置 BAM 警报:

  • SQL Server 2016

  • SQL Server 2014

  • SQL Server 2012

    SQL Server 数据库邮件使用 SMTP 服务器发送 BAM 警报。 SMTP 服务器随 Internet 信息服务 (IIS) 一起提供。 SMTP 可以本地安装在 BizTalk Server 上,也可以安装在其他已安装 IIS 的服务器上。

    通常情况下,类似 Windows 10、Windows 7 等的客户端操作系统不包括 SMTP 服务器功能。 可以使用 IIS 中的 SMTP 电子邮件功能连接到 Windows Server 上的现有 SMTP 服务器。 SMTP 电子邮件 功能不是 SMTP 服务器,这是SQL Server 数据库邮件所必需的。 因此,本主题不包括在客户端操作系统上安装和配置 SMTP 服务器的步骤。

    安装和配置 SMTP 服务器

    这些步骤适用于:

  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2012
  • 安装 SMTP 服务器

  • “服务器管理器 ”中,选择左窗格中的“ 仪表板 ”。

  • 选择 “添加角色和功能 ”。 还可以从右上角的“ 管理 ”菜单打开 “添加角色和功能 ”。

  • 擨“开∪ぇ蚲” い,选择“捸捗;”

  • 选择“ 基于角色或基于功能的安装 ”,然后选择“ 下一步 ”。

  • 选择“ 从服务器池中选择服务器 ”,选择所需的服务器,然后选择“ 下一步 ”。 “ 服务器选择 ”窗口列出了使用 服务器管理器 中添加服务器 添加 的服务器 。 默认情况下,本地服务器处于选中状态。

  • “服务器角色”中 ,选择“ 下一步 ”。

  • “功能” 中,检查 SMTP 服务器 。 如果出现提示,请选择“ 添加功能 ”。 选择“ 下一页 ”。

  • “确认 ”中, 选择“如果需要,自动重启目标服务器 ”,然后选择“ 安装 ”。 完成后,选择“关闭”。

    配置 SMTP 服务器

    以下是使用 IIS 6.0 管理器配置 SMTP 虚拟服务器的步骤:

  • 打开 IIS 管理器:在“开始”屏幕中,搜索 inetmgr6.exe ,然后打开它。

  • 展开计算机名。 右键单击“ [SMTP 虚拟服务器 #1] ”,然后选择“ 属性 ”。

  • 在“ 访问 ”选项卡中,选择“ 中继 ”按钮。

  • 选择“添加” 。 对于 “单台计算机” ,输入 127.0.0.1 ,然后选择“ 确定 ”。

    通过添加 127.0.0.1,我们将允许本地服务器从此 SMTP 服务器发送消息。 如果你希望其他计算机从此 SMTP 服务器发送消息,请输入其 IP 地址。

  • 在“ 传递 ”选项卡中,选择“ 出站安全性 ”。 从下列各项中进行选择:

    匿名访问 :不需要帐户名或密码。 此选项将禁用 SMTP 服务器身份验证。

    基本身份验证 :要连接到的服务器的帐户名和密码以明文形式发送。 输入的帐户用于传输电子邮件。 向个人帐户或 Exchange 帐户发送电子邮件时,可以选择“基本身份验证”。 由于凭据以明文形式传递,因此建议启用 TLS 加密

    集成 Windows 身份验证 :Windows 域帐户名称和密码用于进行身份验证。 输入的帐户用于传输电子邮件。

    TLS 加密 :与 SSL 类似,TLS 可保护连接。 需要在此服务器上安装一个有效的 SSL 服务器证书。

    若要使用个人电子邮件帐户(包括 Exchange 帐户)测试核心 SMTP 功能,请选择“ 匿名访问 ”。 选择“基本身份验证”时,SMTP 使用 AUTH 命令。 一些电子邮件提供商由于 AUTH 命令可能会失败。 如果 AUTH 命令失败,则错误可能会记录到 SMTP 服务器上的 Windows 事件日志中。

  • 在“ 传递 ”选项卡中,选择“ 出站连接 ”。 默认情况下,TCP 端口为 25。 如果其他端口已在防火墙内打开,可输入其他端口。 选择“确定”。

  • 在“ 传递 ”选项卡中,选择“ 高级 ”。 默认情况下,将列出本地服务器的 完全限定域名 。 根据 Internet 提供程序, 智能主机 属性可以保持为空。 你可能需要联系 Internet 提供商来确认是否需要“智能主机”。 否则,可以输入 smtp。 EMailProvider.com

    智能主机 也称为中继主机,是Exchange Server用来路由所有传出消息的专用服务器。 当智能主机 收到消息时, 智能主机 会将消息转发到远程域。 智能主机 的目标是提高Exchange Server的性能。 Exchange Server 只向智能主机进行传输;而不是反复联系远程域,直到建立连接。

  • 选择“ 确定” 关闭所有窗口。

  • 重启 SMTP 服务器:右键单击“ [SMTP 虚拟服务器 #1] ”,选择“ 停止 ”,然后选择“ 启动 ”。 必须重新启动才能应用 SMTP 服务器设置。

    Windows Server 2008 R2:安装和配置 SMTP 服务器

    安装 SMTP 服务器

    以下是安装 SMTP 服务器功能的步骤:

  • “服务器管理器 ”中,依次选择“ 功能 ”和“ 添加功能 ”。

  • “添加功能 ”中,选择“ SMTP 服务器 ”。 如果出现提示,请选择“ 添加所需角色服务 ”,然后选择“ 下一步 ”。

  • 选择“ 下一步 ”继续安装。

  • “确认安装选择 ”窗口中,选择“ 安装 ”。 完成后,选择“关闭”。

    配置 SMTP 服务器

    以下是使用 IIS 6.0 管理器配置 SMTP 虚拟服务器的步骤:

  • 打开 IIS 6.0 管理器:在 “开始”屏幕 中,搜索 IIS ,然后选择“ Internet Information Services (IIS) 6.0 管理器 ”。

  • 展开计算机名。 右键单击“ [SMTP 虚拟服务器 #1] ”,然后选择“ 属性 ”。

  • 在“ 访问 ”选项卡中,选择“ 中继 ”按钮。

  • 选择“添加” 。 对于 “单台计算机” ,输入 127.0.0.1 ,然后选择“ 确定 ”。

    通过添加 127.0.0.1,我们将允许本地服务器从此 SMTP 服务器发送消息。 如果你希望其他计算机从此 SMTP 服务器发送消息,请输入其 IP 地址。

  • 在“ 传递 ”选项卡中,选择“ 出站安全性 ”。 从下列各项中进行选择:

    匿名访问 :不需要帐户名或密码。 此选项将禁用 SMTP 服务器身份验证。

    基本身份验证 :要连接到的服务器的帐户名和密码以明文形式发送。 向个人帐户或 Exchange 帐户发送电子邮件时,可以选择“基本身份验证”。 由于凭据以明文形式传递,因此建议启用 TLS 加密

    集成 Windows 身份验证 :Windows 域帐户名称和密码用于进行身份验证。 输入的帐户用于传输电子邮件。

    TLS 加密 :与 SSL 类似,TLS 可保护连接。 需要在此服务器上安装一个有效的 SSL 服务器证书。

    若要使用个人电子邮件帐户(包括 Exchange 帐户)测试核心 SMTP 功能,请选择“ 匿名访问 ”。 选择“基本身份验证”时,SMTP 使用 AUTH 命令。 一些电子邮件提供商由于 AUTH 命令可能会失败。 如果 AUTH 命令失败,则错误可能会记录到 SMTP 服务器上的 Windows 事件日志中。

  • 在“ 传递 ”选项卡中,选择“ 出站连接 ”。 默认情况下,TCP 端口为 25。 如果其他端口已在防火墙内打开,可输入其他端口。 选择“确定” 。

    TCP 端口可用于入站连接和出站连接。

  • 在“ 传递 ”选项卡中,选择“ 高级 ”。 默认情况下,将列出本地服务器的 完全限定域名 。 根据 Internet 提供程序, 智能主机 属性可以保持为空。 你可能需要联系 Internet 提供商来确认是否需要“智能主机”。 否则,可以输入 smtp。 EMailProvider.com

    智能主机 也称为中继主机,是Exchange Server用来路由所有传出消息的专用服务器。 当智能主机 收到消息时, 智能主机 会将消息转发到远程域。 智能主机 的目标是提高Exchange Server的性能。 Exchange Server 只向智能主机进行传输;而不是反复联系远程域,直到建立连接。

  • 选择“ 确定” 关闭所有窗口。

  • 必须重新启动才能应用 SMTP 服务器设置。 若要重启 SMTP 服务器:右键单击“ [SMTP 虚拟服务器 #1] ”,选择“ 停止 ”,然后选择“ 启动 ”。

    测试 SMTP 服务器

    可以使用 Telnet 测试 SMTP 服务器的配置。 以下步骤使用配置的 SMTP 服务器将消息发送到电子邮件地址。 有关 telnet 命令的详细信息,请转到 Windows 命令:telnet

  • 以管理员身份打开命令窗口。

  • 在命令提示符下,键入:

    telnet localhost 25

    如果没有安装 telnet,则输入以下内容进行安装:

    pkgmgr /iu:"TelnetClient"

  • 输入以下内容启动通信:

    EHLO server

  • 输入“发件人”地址:

    MAIL FROM: *YourEmailAddress*@*YourProvider*.com

    例如,输入:

    MAIL FROM: EmailAddress@outlook.com

  • 输入“收件人”地址:

    RCPT TO: *YourEmailAddress*@*YourProvider*.com

    例如,输入:

    RCPT TO: EmailAddress@outlook.com

  • 输入以下内容,以告知 SMTP 服务器您已准备好发送数据:

  • 输入以下内容,以输入“主题”:

    Subject: Test Message

  • 按 Enter 两次。

  • 输入以下内容,以输入邮件正文:

    This is the message body of the test message.

  • 按 Enter,输入句点 (.),再按 Enter。

    检查电子邮件的 RCPT TO 地址。 如果电子邮件未送达(检查“收件箱”和“垃圾邮件”文件夹),则表示邮件发送失败,可能仍驻留在 SMTP 队列文件夹中 (C:\inetpub\mailroot\Queue)。

  •