跳过导航链接 | |
退出打印视图 | |
在 Oracle Solaris 11.1 中管理 sendmail 服务 Oracle Solaris 11.1 Information Library (简体中文) |
MILTER(用于 sendmail 的邮件过滤器 API)
简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 邮件程序
UNIX 对 UNIX 复制程序 (UNIX-to-UNIX Copy Program, UUCP) 邮件程序
sendmail 版本 8.12 中的配置文件 submit.cf
可区分 sendmail.cf 与 submit.cf 的功能
sendmail 版本 8.12 中新增的用于 PidFile 和 ProcessTitlePrefix 选项的参数
sendmail 版本 8.12 中新增和修订的 m4 配置宏
sendmail 版本 8.12 中对 FEATURE() 声明的更改
sendmail 版本 8.12 中对 MAILER() 声明的更改
sendmail 版本 8.12 中新增的用于传送代理的等式
虽然此版本的 sendmail 提供了许多新增功能,但最重要的还是其中的 FallBackSmartHost 选项。由于此选项,您无需再使用 main.cf 和 subsidiary.cf。main.cf 文件用于支持 MX 记录的环境。subsidiary.cf 文件用于不具备完全功能的 DNS 的环境。上述环境使用智能主机,不使用 MX 记录。FallBackSmartHost 选项可提供统一的配置。此选项的作用与所有环境最不可能首选的 MX 记录类似。要确保邮件传送到客户机,此选项(如果启用)需提供一台正确连接的(或智能)主机,此主机将用作出现故障的 MX 记录的备份(或故障转移)。
有关版本 8.13 的更多信息,请参见以下各节:
另外,SMTP 可以使用传输层安全 (Transport Layer Security, TLS) 运行。请参见以下说明。
SMTP 服务器和客户机之间的通信通常不受任何一端的控制或信任。由于缺少安全性,第三方可能会监视甚至修改服务器与客户机之间的通信。在 sendmail 8.13 版中,SMTP 可以使用传输层安全 (Transport Layer Security, TLS) 来解决此问题。SMTP 服务器和客户机的这种扩展服务可提供以下功能:
Internet 中专用的、经过验证的通信
保护不受窃听者和攻击者的攻击
注 - TLS 的实现基于安全套接字层 (Secure Sockets Layer, SSL) 协议。
STARTTLS 是使用 TLS 启动安全 SMTP 的 SMTP 关键字。此安全连接可能建立在两台服务器之间或一台服务器与一台客户机之间。安全连接定义如下:
源电子邮件地址和目标电子邮件地址都已加密。
电子邮件的内容已加密。
当客户机发出 STARTTLS 命令时,服务器将使用以下各项之一来响应:
220 Ready to start TLS
501 Syntax error (no parameters allowed)
454 TLS not available due to temporary reason
220 响应要求客户机启动 TLS 协商。501 响应指明客户机未正确发出 STARTTLS 命令。发出 STARTTLS 时未使用任何参数。454 响应需要客户机应用规则集值来确定是接受还是维护连接。
请注意,要维护 Internet 的 SMTP 基础结构,公共使用的服务器决不能要求 TLS 协商。但是,专用服务器可能会要求客户机执行 TLS 协商。在这类情况下,服务器会返回以下响应:
530 Must issue a STARTTLS command first
530 响应会指示客户机发出 STARTTLS 命令,以建立连接。
如果不满足身份验证和保密性的级别,服务器或客户机可以拒绝连接。同样,由于大多数 SMTP 连接都不安全,因此服务器和客户机可能会保留不安全的连接。保留还是拒绝连接由服务器和客户机的配置来确定。
缺省情况下,不支持在运行 SMTP 时使用 TLS。SMTP 客户机发出 STARTTLS 命令时,将启用 TLS。必须先设置允许 sendmail 使用 TLS 的证书,然后 SMTP 客户机才能发出此命令。请参见设置 SMTP 以使用 TLS。请注意,此过程包括定义新的配置文件选项和重新生成 sendmail.cf 文件。
下表介绍了用于在运行 SMTP 时使用 TLS 的配置文件选项。如果要声明其中的任何选项,请使用以下语法之一:
O OptionName= argument # for the configuration file
-O OptionName= argument # for the command line
define(`m4Name', argument) # for m4 configuration
表 3-12 用于在运行 SMTP 时使用 TLS 的配置文件选项
|
要使 sendmail 支持 SMTP 使用 TLS,必须定义以下选项:
CACertPath
CACertFile
ServerCertFile
ClientKeyFile
不需要定义其他选项。
下表介绍了 STARTTLS 命令使用的宏。
表 3-13 用于在运行 SMTP 时使用 TLS 的宏
|
下表介绍了一些规则集,用于确定应接受、继续还是拒绝使用 TLS 的 SMTP 连接。
表 3-14 用于在运行 SMTP 时使用 TLS 的规则集
|
有关更多信息,请参见 http://www.sendmail.org/m4/starttls.html。
作为用于定义在 Internet 中运行的邮件程序的标准邮件协议,SMTP 不是一种端对端机制。由于此协议限制,通过 SMTP 的 TLS 安全性不包括邮件用户代理。邮件用户代理用作用户与邮件传输代理(如 sendmail)之间的接口。
另外,邮件也可以在多台服务器之间路由。为了实现完整的 SMTP 安全性,整个 SMTP 连接链必须具有 TLS 支持。
最后,还必须考虑在每对服务器之间或客户机和服务器对之间的协商身份验证和保密性的级别。有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"验证服务"。
下表介绍了在 sendmail 版本 8.13 中新增的可用命令行选项。sendmail(1M) 手册页介绍了其他命令行选项。
表 3-15 sendmail 版本 8.13 中可用的命令行选项
|
下表介绍了添加和修订的配置文件选项。如果要声明其中的任何选项,请使用以下语法之一。
O OptionName=argument # for the configuration file -O OptionName=argument # for the command line define(`m4Name',argument) # for m4 configuration
表 3-16 sendmail 版本 8.13 中可用的配置文件选项
|
下表介绍了添加和修订的 FEATURE() 声明。此 m4 宏使用以下语法。
FEATURE(`name', `argument')
表 3-17 sendmail 版本 8.13 中可用的 FEATURE() 声明
|