Sun logo      上一个      目录      索引      下一个     

Sun ONE Messaging Server 6.0 管理员指南

第 3 章
配置 POP、IMAP 和 HTTP 服务

Messaging Server 支持客户机访问邮箱时使用邮局协议 3 (POP3)、Internet 邮件访问协议 4 (IMAP4) 和超文本传输协议 (HTTP)。IMAP 和 POP 都是 Internet 标准邮箱协议。Messenger Express 是启用了 Web 的电子邮件程序,它使最终用户可以使用浏览器访问其邮箱,浏览器运行于使用 HTTP 的与 Internet 连接的计算机系统中。

本章介绍如何使用 Sun ONE Console 或命令行实用程序配置服务器,以使其支持一项或多项上述服务。

有关配置简单邮件传输协议 (SMTP) 服务的信息,请参见第 8 章“关于 MTA 服务和配置”。 

本章包含以下各节:


一般配置

配置 Messaging Server POP、IMAP 和 HTTP 服务的一般功能包括启用或禁用服务、指定端口号和修改发送给连接客户机的服务标题(可选)。本节提供了背景信息;有关完成这些设置所需的步骤,请参见配置 POP 服务配置 IMAP 服务配置 HTTP 服务

启用和禁用服务

您可以控制任何特定的 Messaging Server 实例是否提供 POP、IMAP 或 HTTP 服务。这与启动和停止服务不同(请参见启动和停止服务);要使 POP、IMAP 或 HTTP 发挥作用,必须对其启用并启动。

与启动或停止服务相比,启用服务是更为“全局”的过程。例如,启用的设置在系统重新引导后仍然可用,但是在重新引导后,您必须重新启动以前“停止”的服务。

无需启用不准备使用的服务。例如,如果只将 Messaging Server 实例用作邮件传输代理 (MTA),则应该禁用 POP、IMAP 和 HTTP。如果只将其用于 POP 服务,则应该禁用 IMAP 和 HTTP。如果只将其用于基于 Web 的电子邮件,则应该禁用 POP 和 IMAP。

您可以在服务器级别启用或禁用服务。本章介绍了这一过程。指定要启动的服务也对此过程作了介绍。您还可以通过设置指定的 LDAP 属性 mailAllowedServiceAccess 在用户级别启用或禁用服务。

指定端口号

对于每项服务,您都可以指定服务器用于服务连接的端口号:

有时可能需要指定不同于缺省值的端口号,例如,如果一台主机计算机中有两个或多个 IMAP 服务器实例,或者同一主机计算机既用作 IMAP 服务器又用作 Messaging Multiplexor 服务器。(有关 Multiplexor 的信息,请参见第 5 章“配置和管理多路复用器服务”。)

指定端口时请注意以下两点:

用于加密通信的端口

Messaging Server 支持使用安全套接字层 (SSL) 协议与 IMAP 和 HTTP 客户机进行加密通信。有关在 Messaging Server 中支持 SSL 的一般信息,请参见配置加密和基于证书的验证

基于 SSL 的 IMAP

你可以接受缺省的基于 SSL 的 IMAP 端口号 (993),也可为基于 SSL 的 IMAP 指定另一端口。

由于大多数当前 IMAP 客户机要求使用单独的端口,因此 Messaging Server 提供了使用单独的 IMAP 端口和基于 SSL 的 IMAP 端口这一选项。与 IMAP 和基于 SSL 的 IMAP 通信时使用同一端口是新兴标准;只要 Messaging Server 已安装 SSL 证书(请参见获得证书),它便可以支持同一端口的基于 SSL 的 IMAP。

基于 SSL 的 HTTP

你可以接受缺省的基于 SSL 的 HTTP 端口号 (443),也可以为 HTTP 指定另一端口。

服务标题

客户机首次连接到 Messaging Server POP 或 IMAP 端口时,服务器将向该客户机发送标识文本字符串。此服务标题(通常不向客户机用户显示)将服务器标识为 Sun ONE Messaging Server,并给出服务器的版本号。此标题主要用于客户机调试或问题隔离。

如果要向连接的客户机发送其它邮件,则可以替换 POP 或 IMAP 服务的缺省标题。

您可以使用 Sun ONE Console 或 configutil 实用程序(service.imap.bannerservice.pop.banner)来设置服务标题。有关 configutil 的详细语法信息,请参见 Messaging Server Reference Manual


登录要求

您可以控制允许用户登录到 POP、IMAP 或 HTTP 服务以检索邮件的方式。可以允许基于密码的登录(适用于所有服务)和基于证书的登录(适用于 IMAP 或 HTTP 服务)。本节提供的是背景信息;有关完成这些设置所需的步骤,请参见配置 POP 服务配置 IMAP 服务配置 HTTP 服务。此外,您可以指定用于 POP 登录的有效登录分隔符。

设置 POP 客户机的登录分隔符

对于某些 POP 邮件客户机,Messaging Server 不接受 @ 作为登录分隔符(即,类似 uid@domain 的地址中的 @)。这些客户机包括 Netscape Messenger 4.76、Netscape Messenger 6.0 和 Windows 2000 中的 Microsoft Outlook Express。解决方法如下:

  1. 使用以下命令使 + 成为有效的分隔符:
  2. configutil -o service.loginseparator -v "@+"

  3. 通知 POP 客户机用户,登录时应将 +(而不是 @)作为登录分隔符。

基于密码的登录

在典型的邮件传送软件安装中,用户通过在邮件客户机中输入密码来访问其 POP、IMAP 或 HTTP 邮箱。客户机将密码发送给服务器,服务器使用该密码来验证用户。对用户进行验证后,服务器将根据访问控制规则来决定是否授权用户访问存储在该服务器中的特定邮箱。

如果允许密码登录,用户可以通过输入密码访问 POP、IMAP 或 HTTP。(基于密码的登录是用于 POP 服务的唯一验证方法。)密码存储在 LDAP 目录中。目录策略将决定有效的密码策略(例如最小长度)。

如果不允许对 IMAP 或 HTTP 服务进行密码登录,则不允许基于密码的验证。这时要求用户使用基于证书的登录(如下节所述)。

为了增加 IMAP 和 HTTP 服务的密码传输的安全性,您可以要求在将密码发送给服务器之前先对其加密。您可以通过选择用于登录的最小加密算法长度要求进行此操作。

如果将客户机配置为要求加密的密钥长度大于服务器支持的最大长度,或者将服务器配置为要求加密的密钥长度大于客户机支持的长度,则无法进行基于密码的登录。有关设置服务器以支持各种加密算法和密钥长度的信息,请参见启用 SSL 并选择加密算法

基于证书的登录

除了基于密码的验证之外,Sun ONE 服务器还支持通过检查用户的数字证书对其进行验证。客户机与服务器建立 SSL 会话时将提供用户的证书而不是密码。如果证书有效,则认为用户经过验证。

有关设置 Messaging Server 以接受基于证书的用户登录到 IMAP 或 HTTP 服务的说明,请参见设置基于证书的登录

要启用基于证书的登录,无需取消选择“IMAP 系统”或“HTTP 系统”表单中的“允许密码登录”框。如果选择了此框(缺省状态),并且已执行设置基于证书的登录所需的任务,将同时支持基于密码和基于证书的登录。这时,如果客户机建立 SSL 会话并提供证书,将使用基于证书的登录。如果客户机不使用 SSL 或不提供客户机证书,它将发送密码。


性能参数

您可以为 Messaging Server 的 POP、IMAP 和 HTTP 服务设置一些基本性能参数。您可以根据硬件能力和用户基础调整这些参数,以达到最大服务效率。本节提供的是背景信息;有关完成这些设置所需的步骤,请参见配置 POP 服务配置 IMAP 服务配置 HTTP 服务

进程数量

Messaging Server 可以将工作分为若干个执行进程,在某些情况下这可以提高效率。此功能对于多个处理器的服务器计算机尤其有用,这时调整服务器进程的数量可以将多个任务更有效率地分发给各个硬件处理器。

但是,将任务分配给多个进程以及从一个进程切换到另一个进程时,也会有性能开销。每添加一个新进程,具有多个进程的优势都将减少。对于大多数配置,简单的经验规则是使服务器计算机的每个硬件处理器中有一个进程,最多不超过 4 个进程。最佳配置可能会因情况而异;此经验法则只作为您自己进行分析时的出发点。

注意:在某些平台中,可能需要增加进程数量,以解决该平台特有的对每个进程的特定限制(例如文件描述符的最大数量),这可能会影响性能。

对于 POP、IMAP 或 HTTP 服务,缺省的进程数量为每项服务 1 个。

每个进程的连接数量

POP、IMAP 或 HTTP 服务可以维持的同时进行的客户机连接越多,对客户机就越有利。如果客户机由于无可用连接而被拒绝服务,则必需等到其它客户机断开连接。

另一方面,每个打开的连接都要消耗内存资源,并需要使用服务器计算机的 I/O 子系统,因此对于服务器所能支持的同时进行的会话数量是有实际限制的。(您可以通过增加服务器内存或 I/O 容量来放宽此限制。)

IMAP、HTTP 和 POP 在这方面有不同的需求:

因此,在特定时间,对于特定的用户需求,Messaging Server 可以支持的打开的 IMAP 或 HTTP 连接比 POP 连接多很多。

对于 IMAP,缺省值是每个进程 4000 个连接;对于 HTTP,缺省值是每个进程 6000 个连接;对于 POP,缺省值是 600。这些缺省值大致代表典型配置的服务器计算机所能处理的等量需求。最佳配置可能会因情况而异;这些缺省值仅作为一般准则。

每个进程的线程数量

除了支持多个进程,Messaging Server 还通过将工作细分给多个线程来进一步提高性能。服务器对线程的使用极大提高了执行效率,因为执行中的命令不会妨碍其它命令的执行。可以根据执行过程中的需要创建和删除线程,多达所设置的最大数量。

具有更多的同时执行的线程意味着可以在没有延迟的情况下处理更多的客户机请求,以便为更多的客户机提供快速服务。但是,在线程间分发任务也有性能开销,因此对于服务器可以使用的线程数量有实际限制。

对于 POP、IMAP 和 HTTP,缺省的最大值为每个进程 250 个线程。尽管 IMAP 和 HTTP 的缺省连接数量大于 POP 的缺省连接数量,但缺省线程数量相等。我们假定,使用与较少但更忙碌的 POP 连接相同的最大线程数量能够高效处理较多的 IMAP 和 HTTP 连接。最佳配置可能因情况而异,但是这些缺省值已经足够大,您不大可能需要增加这些值;缺省值应该可以为大多数安装提供合理的性能。

切断空闲连接

为了收回无响应客户机的连接所使用的系统资源,IMAP4、POP3 和 HTTP 协议允许服务器单方面切断已空闲特定时间的连接。

各个协议规范要求服务器在某个最小时间内将空闲连接保持打开状态。对于 POP,缺省时间是 10 分钟,对于 IMAP,缺省时间是 30 分钟,对于 HTTP,缺省时间是 3 分钟。您可以在缺省值基础上增加空闲时间,但不能缩短缺省时间。

如果切断 POP 或 IMAP 连接,用户必须重新验证才能建立新连接。相反,如果切断 HTTP 连接,用户无需重新验证,因为 HTTP 会话将保持打开状态。有关 HTTP 会话安全性的详细信息,请参见关于 HTTP 安全性

空闲的 POP 连接通常是由于出现某个问题(例如崩溃或挂起)致使客户机无法响应而造成的。空闲的 IMAP 连接则属于正常情况。为了避免 IMAP 用户被单方面断开连接,IMAP 客户机通常在小于 30 分钟的某个时间间隔内向 IMAP 服务器定期发送命令。

注销 HTTP 客户机

HTTP 会话可以持续多个连接。切断连接后并不注销 HTTP 客户机。但是,如果 HTTP 会话保持空闲的时间达到指定的时间段,服务器将自动断开 HTTP 会话并注销客户机(缺省时间段是 2 小时)。切断会话后,客户机的会话 ID 将无效,客户机必须重新验证才能建立其它会话。有关 HTTP 安全性和会话 ID 的详细信息,请参见关于 HTTP 安全性


客户机访问控制

Messaging Server 包含访问控制功能,使您可以决定哪些客户机可以访问 POP、IMAP 或 HTTP 邮件传送服务(以及 SMTP)。您可以基于多种标准创建灵活的访问过滤器,以允许或拒绝对客户机的访问。

客户机访问控制是 Messaging Server 重要的安全保护功能。有关创建客户机访问控制过滤器及其使用示例的信息,请参见配置客户机对 POP、IMAP 和 HTTP 服务的访问配置客户机对 SMTP 服务的访问


配置 POP 服务

您可以通过使用 configutil 命令或 Sun ONE Console 对 Messaging Server POP 服务执行基本配置。本章介绍了一些比较常用的 POP 服务选项。在 Sun ONE Messaging Server Reference Manual 中可以查看完整列表。

有关详细信息,另请参见:

Console     使用 Console 配置 POP 服务:

  1. 从 Sun ONE Console 中打开要配置的 Messaging Server。
  2. 单击“配置”选项卡并打开左窗格中的“服务”文件夹。
  3. 选择“POP”。
  4. 单击右窗格中的“系统”选项卡。
  5. 要启用服务,请选择标有“启用 POP 服务于端口”的复选框,然后指定端口号。
  6. 指定以下连接设置:
  7. 指定以下进程设置:
  8. 如果需要,在 POP 服务标题字段中指定服务标题。
  9. 单击“保存”。

    对于 POP 服务,将自动启用基于密码的登录。


命令行     您可以按照以下方法在命令行中设置 POP 属性的值:

启用或禁用 POP 服务:

configutil -o service.pop.enable -v [ yes | no ]

指定端口号:

configutil -o service.pop.port -v number

设置每个进程的最大网络连接数量:

configutil -o service.pop.maxsessions -v number

设置连接的最大空闲时间:

configutil -o service.pop.idletimeout -v number

设置每个进程的最大线程数量:

configutil -o service.pop.maxthreads -v number

设置最大进程数量:

configutil -o service.pop.numprocesses -v number

启用基于 SSL 的 POP:

configutil -o service.pop.enablesslport -v 1
configutil -o service.pop.sslport -v 995

指定协议欢迎标题:

configutil -o service.pop.banner -v banner


配置 IMAP 服务

您可以通过使用 configutil 命令或 Sun ONE Console 对 Messaging Server IMAP 服务进行基本配置。本节介绍了一些比较常用的 IMAP 服务选项。在 Sun ONE Messaging Server Reference Manual 中可以查看完整列表。有关详细信息,另请参见:

Console     使用 Console 配置 IMAP 服务:

  1. 从 Sun ONE Console 中打开要配置的 Messaging Server。
  2. 单击“配置”选项卡并打开左窗格中的“服务”文件夹。
  3. 选择“IMAP”。
  4. 单击右窗格中的“系统”选项卡。
  5. 要启用服务,选取标有“启用 IMAP 服务于端口”的复选框,然后指定端口号。
  6. 如果需要,启用基于密码的登录。
  7. 指定以下连接设置:
  8. 指定以下进程设置:
  9. 如果需要,在 IMAP 服务标题字段中指定服务标题。
  10. 单击“保存”。

命令行     您可以按照以下方法在命令行中设置 IMAP 属性的值:

启用或禁用 IMAP 服务:

configutil -o service.imap.enable -v [ yes | no ]

指定端口号:

configutil -o service.imap.port -v number

为基于 SSL 的 IMAP 启用单独的端口:

configutil -o service.imap.enablesslport -v [ yes | no ]

为基于 SSL 的 IMAP 指定端口号:

configutil -o service.imap.sslport -v number

启用或禁用 IMAP 服务的密码登录:

configutil -o service.imap.plaintextmincipher -v value

其中 value 是以下值之一:

 -1 - 禁用密码登录
  0 - 启用密码登录而不进行加密
 40 - 启用密码登录并指定加密强度
128 - 启用密码登录并指定加密强度

设置每个进程的最大网络连接数量:

configutil -o service.imap.maxsessions -v number

设置连接的最大空闲时间:

configutil -o service.imap.idletimeout -v number

设置每个进程的最大线程数量:

configutil -o service.imap.maxthreads -v number

设置最大进程数量:

configutil -o service.imap.numprocesses -v number

指定协议欢迎标题:

configutil -o service.imap.banner -v banner


配置 HTTP 服务

POP 和 IMAP 客户机将邮件直接发送给 Messaging Server MTA,以进行路由或传送。相反,HTTP 客户机将邮件发送给专用的 Web Server,Web Server 是 Messaging Server 的一部分。HTTP 服务随后将邮件发送给本地 MTA 或远程 MTA,以进行路由或传送(如图 3-1 所示)。如果 Messaging Server 仅用于基于 Web 的电子邮件,请禁用 POP 和 IMAP。

图 3-1 HTTP 服务组件

此图形显示了 Messaging Server 中的 http 路由。

许多 HTTP 配置参数都与 POP 和 IMAP 服务的可用参数相类似。其中包括用于连接设置和进程设置的参数。本节介绍了一些比较常用的 HTTP 服务选项。在 Sun ONE Messaging Server Reference Manual 中可以查看完整列表。有关详细信息,另请参见:

某些参数是 HTTP 服务特有的;其中包括邮件设置参数和 MTA 设置参数。

邮件设置     HTTP 客户机构建带有附件的邮件时,附件被上载到服务器并存储在文件中。在将邮件发送给 MTA 进行路由或传送之前,HTTP 服务将检索附件并构建邮件。您可以接受缺省的附件假脱机目录,也可以指定替换目录。您还可以指定允许的附件最大大小。

MTA 设置     缺省情况下,HTTP 服务将外发 Web 邮件发送给本地 MTA,以进行路由或传送。您可能希望把 HTTP 服务配置为将邮件发送给远程 MTA,例如,如果您的站点提供宿主服务并且大部分收件人不在与本地主机计算机相同的域中。要将 Web 邮件发送给远程 MTA,您需要指定远程主机名称和远程主机的 SMTP 端口号。

Console     要使用 Sun ONE Console 配置 HTTP 服务,请执行以下操作:

  1. 从 Sun ONE Console 中打开要配置的 Messaging Server。
  2. 单击“配置”选项卡并打开左窗格中的“服务”文件夹。
  3. 选择“HTTP”。
  4. 单击右窗格中的“系统”选项卡。
  5. 要启用服务,选取标有“启用 HTTP 服务于端口”的复选框,然后指定端口号。
  6. 如果需要,启用基于密码的登录。
  7. 指定以下连接设置:
  8. 指定以下进程设置:
  9. 指定以下邮件设置:
    • 如果需要,指定附件假脱机目录。
    • 如果需要,指定最大外发邮件大小。请注意,这包括以 base64 编码的所有附件,而 base64 编码要求 33% 的额外空间。因此,控制台中 5 兆字节的限制将导致邮件和附件的最大大小为 3.75 M 左右。
    • 有关详细信息,请参见邮件设置

  10. 指定以下 MTA 设置:
    • 如果需要,指定替换的 MTA 主机名。
    • 如果需要,指定替换的 MTA 端口。
    • 有关详细信息,请参见 MTA 设置

  11. 单击“保存”。

命令行     您可以按照以下方法在命令行中设置 HTTP 属性的值(有关详细信息,请参见 Sun ONE Messaging Server Reference Manual):

启用或禁用 HTTP 服务:

configutil -o service.http.enable -v [ yes | no ]

指定端口号:

configutil -o service.http.port -v number

为基于 SSL 的 HTTP 启用单独的端口:

configutil -o service.http.enablesslport -v [ yes | no ]

为基于 SSL 的 HTTP 指定端口号:

configutil -o service.http.sslport -v number

启用或禁用密码登录:

configutil -o service.http.plaintextmincipher -v value

其中 value 是以下值之一:

 -1 - 禁用密码登录
  0 - 启用密码登录而不进行加密
 40 - 启用密码登录并指定加密强度
128 - 启用密码登录并指定加密强度

设置每个进程的最大网络连接数量:

configutil -o service.http.maxsessions -v number

设置连接的最大空闲时间:

configutil -o service.http.idletimeout -v number

设置客户机会话的最大空闲时间:

configutil -o service.http.sessiontimeout -v number

设置每个进程的最大线程数量:

configutil -o service.http.maxthreads -v number

设置最大进程数量:

configutil -o service.http.numprocesses -v number

指定客户机外发邮件的附件假脱机目录:

configutil -o service.http.spooldir -v dirpath

指定最大邮件大小:

configutil -o service.http.maxmessagesize -v size

其中 size 是字节数。请注意,这包括以 base64 编码的所有附件,而 base64 编码要求 33% 的额外空间。因此,控制台中 5 兆字节的限制将导致邮件和附件的最大大小为 3.75 M 左右。

指定替换的 MTA 主机名:

configutil -o service.http.smtphost -v hostname

为替换 MTA 主机名指定端口号:

configutil -o service.http.smtpport -v portnum



上一个      目录      索引      下一个     


版权所有 2003 Sun Microsystems, Inc.。保留所有权利。