为 SharePoint Server 场配置传出电子邮件

适用于:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

注意

SMTP 身份验证功能仅在 SharePoint Server 2019 中可用。

注意

TLS 连接加密功能仅在 SharePoint Server 2016 或更高版本中可用。

本文介绍如何为服务器场或 SharePoint Server 的特定 Web 应用程序配置传出电子邮件。 本文还介绍如何安装和配置必须用于启用传出电子邮件的 SMTP 服务。

安装 SharePoint Server 并完成服务器场的初始配置后,可以配置传出电子邮件。 通过执行此操作,用户可创建警报以将网站项目作为列表、库和文档跟踪。 此外,网站管理员可以接收有关网站管理员问题的管理消息(例如网站所有者已超出其指定存储空间的信息)。 有关详细信息,请参阅计划 SharePoint Server 场的传出电子邮件

若要为特定的 Web 应用程序配置传出电子邮件,请先为服务器场中的所有 Web 应用程序配置默认的传出电子邮件。 如果为特定的 Web 应用程序配置传出电子邮件,则该配置将替代服务器场中所有 Web 应用程序的默认配置。

还可以使用 Microsoft PowerShell 为特定 Web 应用程序配置传出电子邮件。 有关详细信息,请参阅 SharePoint Server 2016 传出电子邮件配置设置中的“配置特定 Web 应用程序的设置”部分。

开始之前

在开始此操作之前,请查看有关先决条件的以下信息:

  • 您的计算机正在运行 SharePoint Server 2019、SharePoint Server 2016、SharePoint Server 2013 或 SharePoint Foundation 2013。

  • 服务器场中的一台或多台服务器正在运行简单邮件传输协议 (SMTP) 服务并且必须使用有效的 SMTP 服务器地址。 或者,必须知道服务器场外运行 SMTP 服务的服务器的名称。

安装和配置 SMTP 服务

在可以启用传出电子邮件之前,必须确定要使用的 SMTP 服务器。 此 SMTP 服务器必须配置为允许匿名的 SMTP 电子邮件提交。 SMTP 服务器可以是服务器场中或服务器场外的服务器。

注意

如果您的组织不允许使用 Exchange Server 发送匿名 SMTP 电子邮件,则可以使用 SharePoint 场中接受匿名电子邮件的本地 SMTP 服务器。 此本地 SMTP 服务器会自动验证这些邮件,然后将它们转发给运行 Exchange Server 的计算机。

安装 SMTP 服务

若要安装 SMTP 服务,请使用服务器管理器中的“添加功能向导”。 此向导会创建一个默认的 SMTP 配置。 可以自定义此默认的 SMTP 配置,以满足您组织的要求。

如果已在服务器上安装 SMTP 服务,请跳到 配置 SMTP 服务

安装 SMTP 服务

  1. 验证执行此过程的用户帐户是否是应用程序服务器上的 Administrators 组的成员。

  2. 打开服务器管理器,单击“管理”,然后选择“添加角色和功能”。

  3. 单击“ 下一步 ”,直到出现“选择功能”页,选择“ SMTP 服务器”,单击“ 添加功能”,然后单击“ 下一步”。

  4. 在"确认安装选择"页上,单击"安装"。

  5. 在“安装结果”页上,检查安装是否已成功完成,然后单击“ 关闭”。

配置 SMTP 服务

安装 SMTP 服务后,将该服务配置发送来自服务器场中服务器的电子邮件。

可以决定将中继电子邮件发送到所有服务器(特定排除的服务器除外)。 或者,可以阻止发送到所有服务器(特定包括的服务器除外)的邮件。 可以逐个加入服务器,也可以按子网或域成组地加入服务器。

如果启用匿名访问和中继电子邮件,将会增加 SMTP 服务器用于中继商业垃圾邮件(垃圾邮件)的可能性。 一定要小心地配置邮件服务器以帮助防范垃圾邮件,从而限制这种可能性。 实现此目的的一种方式是限制发送给特定的服务器或域列表的中继电子邮件,并阻止从所有其他服务器发送的中继电子邮件。

注意

若要管理 Windows Server 2008、Windows Server 2012 R2 和 Windows Server 2016 上的 SMTP 服务,必须使用 Internet Information Services (IIS) 6.0 管理器。 请确保在服务器管理器中安装了 IIS 6.0 管理工具。

安装 IIS 6.0 管理工具

  1. 验证您是否拥有以下管理凭据:

    • 您必须是前端 Web 服务器上的 Administrators 组的成员。
  2. 打开服务器管理器,单击“管理”,然后选择“添加角色和功能”。

  3. 单击“ 下一步 ”,直到出现“选择服务器角色”页,选择“ 管理工具IIS 6 管理兼容性”,然后单击“ 安装”。

  4. 在"应用程序服务器"部分,单击"添加角色服务"。

  5. 在“选择角色服务”页上,选择“管理工具”和“IIS 6 管理兼容性”,然后单击“安装”

配置 SMTP 服务

  1. 验证执行此过程的用户帐户是否是应用程序服务器上的 Administrators 组的成员。

  2. 打开服务器管理器,单击“工具”,然后选择“Internet Information Services (IIS) 6.0 管理器”。

  3. 在 IIS 管理器 中,展开包含要配置的 SMTP 服务器的服务器名称。

  4. 右键单击要配置的 SMTP 虚拟服务器,然后单击“ 开始”,然后再次右键单击服务器,然后单击“ 属性”。

  5. 在"访问"选项卡上的"访问控制"区域中,单击"身份验证"。

  6. 在“ 身份验证 ”对话框中,验证是否已选择 “匿名访问 ”,然后单击“ 确定”。

  7. 在"访问"选项卡上的"中继限制"区域,单击"中继"。

  8. 若要启用发送到任何服务器的中继电子邮件,请单击"以下列表除外"。

  9. 若要接受来自一个或多个特定服务器的中继电子邮件,请按照下列步骤操作:

    • 单击"仅以下列表"。

    • 单击"添加",然后按 IP 地址一次添加一台服务器,或使用子网或域成组地添加服务器。

    • 单击 “确定” 三次,关闭“ 计算机”、“ 中继限制”和“ 属性 ”对话框。

确保 SMTP 服务正在运行,并已设置为自动启动。 为此,请使用下列过程。

将 SMTP 服务设置为自动启动

  1. 打开服务器管理器,单击“工具”,然后单击“服务”。

  2. 在"服务"中,右键单击"简单邮件传输协议(SMTP)",然后选择"属性"。

  3. 在“ 简单邮件传输协议 (SMTP) 属性 ”对话框中的“ 常规 ”选项卡上的“ 启动类型 ”列表中,选择“ 自动”,然后单击“ 确定”。

在场中的每个服务器上设置应用程序凭据密钥

注意

如果在 SharePoint Server 2019 上使用 SMTP 身份验证功能,则只需在服务器上设置应用程序凭据密钥。

如果要在发送电子邮件之前向 SMTP 服务器进行身份验证,则必须先在场中的每个 SharePoint 服务器上设置应用程序凭据密钥,然后才能提供凭据。 应用程序凭据密钥是用于加密和解密 SMTP 密码的单独密码。 场中所有 SharePoint 服务器上的应用程序凭据密钥必须相同。

在场中的每个服务器上设置应用程序凭据密钥

  1. 从场 中 SharePoint 服务器的“开始”菜单启动 SharePoint 命令行管理程序。

  2. 运行以下 PowerShell 命令,其中 <应用程序凭据密钥> 是用于加密和解密 SMTP 密码的密码:

    $key = ConvertTo-SecureString -String "<application credential key>" -AsPlainText -Force
    Set-SPApplicationCredentialKey -Password $key
    
  3. 在每个服务器上使用相同的应用程序凭据密钥,在场中其他每个 SharePoint 服务器上重复 PowerShell 命令。

为服务器场配置传出电子邮件

您可以通过使用 SharePoint 管理中心网站为服务器场配置传出电子邮件。 请使用以下过程配置传出电子邮件。 在完成了以下过程后,用户可以跟踪对单独网站集的更改和更新。 此外,(举例而言)网站管理员可以在用户请求访问网站时收到通知。

使用管理中心为服务器场配置传出电子邮件

选择版本以执行步骤。

  1. 验证执行此过程的用户帐户是否是运行管理中心的服务器上的场管理员组的成员。

  2. 在管理中心中,单击"系统设置"。

  3. 在"系统设置"页上的"电子邮件和短信(SMS)"部分,单击"配置传出电子邮件设置"。

  4. 在"传出电子邮件设置"页上的"邮件设置"部分中,在"出站 SMTP 服务器"框中为传出电子邮件键入 SMTP 服务器名称(例如,mail.example.com)。

  5. “出站 SMTP 服务器端口 ”框中,键入 SMTP 服务器的端口号。 如果未指定端口号,SharePoint 将默认使用端口 25。

  6. 在"发件人地址"框中,键入希望对电子邮件收件人显示的电子邮件地址。

  7. “回复地址 ”框中,键入希望电子邮件收件人答复的电子邮件地址。

  8. 在"字符集"列表中,选择适合您的语言的字符集。

  9. “SMTP 服务器身份验证 ”部分中,如果 SMTP 服务器不需要身份验证,请选择 “匿名 ”单选按钮。 否则,如果 SMTP 服务器需要身份验证,请选择“ 经过身份验证 ”单选按钮。

    • 如果选择了 “经过身份验证” 单选按钮,请在“用户名”框中提供用户名,并在“密码”框中提供密码。

    注意

    如果使用 Windows 帐户向 SMTP 服务器进行身份验证,则可以使用通用主体名称 (UPN) 格式 (user@domain.com) 或 NT4 登录格式 (DOMAIN\user) 指定用户名。 如果使用非 Windows 帐户向 SMTP 服务器进行身份验证,请与电子邮件管理员联系以确定正确的用户名格式。

  10. 在“ 使用 TLS 连接加密 ”框中,选择“ ”单选按钮,要求 SharePoint 在发送电子邮件之前与 SMTP 服务器建立加密连接。 否则,请选择“ ”单选按钮。

    注意

    必须为 SMTP 服务器配置有效的 TLS 证书, (与上面输入的受 SharePoint 服务器信任) 的 SMTP 服务器名称匹配,才能通过 TLS 发送电子邮件。

  11. 在 SharePoint Server 订阅版 中,如果将“使用 TLS 连接加密”设置为“”,则可以选择使用客户端证书身份验证。 若要启用客户端证书身份验证,请将 “使用客户端证书身份验证 ”设置为 “是 ”,然后在“客户端证书”下拉列表中选择所需的 客户端证书 。 若要禁用客户端证书身份验证,请选择“ ”单选按钮。

  12. 单击“确定”。

使用 Microsoft PowerShell 为场配置传出电子邮件

按照这些版本指定 SMTP 身份验证的凭据。

  1. 打开“SharePoint 命令行管理程序”

  2. 运行以下 PowerShell 命令以获取 SharePoint 管理中心 Web 应用程序,然后为该 Web 应用程序配置传出电子邮件设置。 存储在该 Web 应用程序中的设置将应用于整个场。

    $CentralAdmin = Get-SPWebApplication -IncludeCentralAdministration | ? { $_.IsAdministrationWebApplication -eq $true }
    
    $SmtpServer = "mail.example.com"
    $SmtpServerPort = 587
    $FromAddress = "user@example.com"
    $ReplyToAddress = "replyto@example.com"
    $Credentials = Get-Credential
    $smtpcert = Get-SPCertificate -Identity "SMTP Cert"
    
    Set-SPWebApplication -Identity $CentralAdmin -SMTPServer $SmtpServer -SMTPServerPort $SmtpServerPort -OutgoingEmailAddress $FromAddress -ReplyToEmailAddress $ReplyToAddress -SMTPCredentials $Credentials -Certificate $smtpcert
    

    注意

    若要指定 SMTP 身份验证的凭据,请使用 Get-Credential cmdlet 并将其作为 参数的值 -SMTPCredentials 传递。 若要指定 SharePoint 应匿名连接到 SMTP 服务器, 请将$null 作为 参数的值 -SMTPCredentials 传递。 如果未指定 -SMTPCredentials 参数,它将保留现有的身份验证设置。

    注意

    SharePoint Server 订阅版将可选-Certificate参数添加到 cmdlet,允许用户指定应使用哪个客户端证书。 若要指定 SharePoint 不应使用客户端证书身份验证,请将 $null 作为 参数的值 -Certificate 传递。

为特定的 Web 应用程序配置传出电子邮件

您可以通过使用管理中心网站为特定的 Web 应用程序配置传出电子邮件。 请使用以下过程配置传出电子邮件。

注意

如果为特定的 Web 应用程序配置传出电子邮件,则该配置将替代服务器场中所有 Web 应用程序的默认配置。

使用管理中心为特定 Web 应用程序配置传出电子邮件

选择版本以执行步骤。

  1. 确认执行此过程的用户帐户是运行 SharePoint 管理中心网站的服务器上的 Farm Administrators 组的成员。

  2. 在管理中心的“应用程序管理”部分,单击“管理 Web 应用程序”

  3. 在"Web 应用程序管理"页上,选择一个 Web 应用程序,然后在功能区上的"常规设置"组中单击"传出电子邮件"。

  4. 在"Web 应用程序传出电子邮件设置"页上的"邮件设置"部分,在"出站 SMTP 服务器"框中为传出电子邮件键入 SMTP 服务器名称(例如,mail.fabrikam.com)。

  5. “出站 SMTP 服务器端口 ”框中,键入 SMTP 服务器的端口号。 如果未指定端口号,SharePoint 将默认使用端口 25。

  6. 在"发件人地址"框中,键入希望对电子邮件收件人显示的电子邮件地址。

  7. 在"答复地址"框中,键入希望电子邮件收件人答复的电子邮件地址(例如,技术支持的别名)。

  8. 在"字符集"列表中,单击适合您的语言的字符集。

  9. “SMTP 服务器身份验证 ”部分中,如果 SMTP 服务器不需要身份验证,请选择 “匿名 ”单选按钮。 否则,如果 SMTP 服务器需要身份验证,请选择“ 经过身份验证 ”单选按钮。

    • 如果选择了 “经过身份验证” 单选按钮,请在“用户名”框中提供 用户名 ,并在“密码”框中提供 密码

    注意

    如果使用 Windows 帐户向 SMTP 服务器进行身份验证,则可以使用通用主体名称 (UPN) 格式 (user@domain.com) 或 NT4 登录格式 (DOMAIN\user) 指定用户名。 如果使用非 Windows 帐户向 SMTP 服务器进行身份验证,请与电子邮件管理员联系以确定正确的用户名格式。

  10. “使用 TLS 连接加密 ”部分中,选择“ ”单选按钮,要求 SharePoint 在发送电子邮件之前与 SMTP 服务器建立加密连接。 否则,请选择“ ”单选按钮。

  11. 在 SharePoint Server 订阅版 中,如果将“使用 TLS 连接加密”设置为“”,则可以选择使用客户端证书身份验证。 若要启用客户端证书身份验证,请将 “使用客户端证书身份验证 ”设置为 “是 ”,然后在“客户端证书”下拉列表中选择所需的 客户端证书 。 若要禁用客户端证书身份验证,请选择“ ”单选按钮。

  12. 单击“确定”。

使用 Microsoft PowerShell 为特定 Web 应用程序配置传出电子邮件

按照这些版本指定 SMTP 身份验证的凭据。

  1. 打开“SharePoint 命令行管理程序”

  2. 运行以下 PowerShell 命令以获取 Web 应用程序,然后配置该 Web 应用程序的传出电子邮件设置。

    $WebApp = Get-SPWebApplication -Identity &lt;web application URL&gt;
    
    $SmtpServer = "mail.example.com"
    $SmtpServerPort = 587
    $FromAddress = "user@example.com"
    $ReplyToAddress = "replyto@example.com"
    $Credentials = Get-Credential
    $smtpcert = Get-SPCertificate -Identity "SMTP Cert"
    
    Set-SPWebApplication -Identity $CentralAdmin -SMTPServer $SmtpServer -SMTPServerPort $SmtpServerPort -OutgoingEmailAddress $FromAddress -ReplyToEmailAddress $ReplyToAddress -SMTPCredentials $Credentials -Certificate $smtpcert
    

    注意

    若要指定 SMTP 身份验证的凭据,请使用 Get-Credential cmdlet 并将其作为 参数的值 -SMTPCredentials 传递。 若要指定 SharePoint 应匿名连接到 SMTP 服务器, 请将$null 作为 参数的值 -SMTPCredentials 传递。 如果未指定 -SMTPCredentials 参数,它将保留现有的身份验证设置。

    注意

    在场中设置 SMTP 身份验证后,可以测试它是否在进行身份验证。 有关详细信息,请参阅 SMTP 身份验证是否真正有效?

    注意

    SharePoint Server 订阅版将可选-Certificate参数添加到 cmdlet,允许用户指定应使用哪个客户端证书。 若要指定 SharePoint 不应使用客户端证书身份验证,请将 $null 作为 参数的值 -Certificate 传递。

另请参阅

概念

规划 SharePoint Server 场的传出电子邮件