跳过导航链接 | |
退出打印视图 | |
在 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.13 支持运行 SMTP 时使用 TLS
sendmail 版本 8.13 中新增和修订的配置文件选项
sendmail 版本 8.13 中新增和修订的 FEATURE() 声明
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 和名称服务的域名。此外,本节还介绍了有效使用名称服务的规则以及 sendmail 与名称服务的特定交互。有关详细信息,请参阅以下主题。
如果要查找相关的任务信息,请参阅第 2 章中如何使用 DNS 和 sendmail或管理邮件别名文件(任务列表)。
标准的 sendmail.cf 文件使用邮件域来确定是直接传送邮件还是通过邮件主机传送邮件。域内邮件通过直接的 SMTP 连接传送,而域间邮件则会转发至邮件主机。
在安全网络中,仅会对少数选定的主机进行授权,允许其生成向外部目标发送的包。即使主机具有邮件域外部的远程主机的 IP 地址,也不能保证可以建立 SMTP 连接。标准的 sendmail.cf 假定以下情况成立。
未授权当前主机直接向邮件域外部的主机发送包。
邮件主机能够将邮件转发给授权主机,该主机可以直接将包传输给外部主机。实际上,邮件主机可以是授权主机。
通过这些假设,邮件主机将负责传送或转发域间邮件。
sendmail 可对名称服务强加各种要求。为增强您对这些要求的理解,本节将首先介绍邮件域与名称服务域之间的关系。然后,本节会介绍各种要求。请参阅以下主题。
邮件域名必须是名称服务域名的后缀。例如,如果名称服务的域名为 A.B.C.D,则邮件域名可能是以下各项之一。
A.B.C.D
B.C.D
C.D
D
最初建立时,邮件域名通常与名称服务域名相同。随着网络规模的变大,名称服务域可以划分为几个较小的部分,以使名称服务更易于管理。但是,为提供一致的别名,邮件域通常保持不划分状态。
本节介绍 sendmail 对名称服务强加的要求。
必须在名称服务中设置主机表或映射,才能支持三种类型的 gethostbyname() 查询。
mailhost-部分名称服务配置会自动满足此要求。
完整主机名(例如,smith.admin.acme.com)-许多名称服务配置都满足此要求。
短主机名(例如 smith)-sendmail 必须连接至邮件主机,才能转发外部邮件。要确定邮件地址是否位于当前邮件域内,可使用完整主机名调用 gethostbyname()。如果找到该项,则将地址视为内部地址。
NIS 和 DNS 都支持 gethostbyname() 以短主机名作为参数,因此会自动满足这一要求。
还需要遵循有关主机名服务的其他两条规则,才能在名称服务内建立有效的 sendmail 服务。
gethostbyname() 在使用完整主机名参数和短主机名参数时应产生一致的结果。例如,如果从邮件域 admin.acme.com 中调用 gethostbyname(smith.admin.acme.com) 和 gethostbyname(smith),则这两个函数应返回相同结果。
对于通用邮件域下的所有名称服务域,使用短主机名的 gethostbyname() 应产生相同结果。例如,如果给定邮件域 smith.admin.acme.com,则当调用来自 ebb.admin.acme.com 域或 esg.admin.acme.com 域时,gethostbyname(smith) 应返回相同结果。邮件域名通常比名称服务域名短,这样此要求针对各种名称服务可具有特殊含义。
有关 gethostbyname() 函数的更多信息,请参阅 gethostbyname(3NSL) 手册页。
以下列表介绍了 sendmail 与 NIS 的交互并提供了一些指导。
邮件域名-如果要将 NIS 设置为主名称服务,则 sendmail 会自动去除 NIS 域名的第一个组成部分并使用剩下的部分作为邮件域名。例如,ebs.admin.acme.com 将成为 admin.acme.com。
邮件主机名-必须在 NIS 主机映射中具有一个 mailhost 项。
完整主机名-标准的 NIS 设置不能“识别”完整主机名。此设置不会尝试使 NIS 识别完整主机名,而是通过编辑 sendmail.cf 文件并使用 %y 替换出现的所有 %l,从 sendmail 端取消此要求。此更改将关闭 sendmail 的域间邮件检测。如果目标主机可以解析为一个 IP 地址,则会尝试直接进行 SMTP 传送。请确保 NIS 主机映射不包含在当前邮件域之外的任何主机项。否则,需要进一步定制 sendmail.cf 文件。
匹配完整主机名和短主机名-请遵循前面有关如何为完整主机名禁用 gethostbyname() 的说明。
多个 NIS 域在一个邮件域中-一个通用邮件域下的所有 NIS 主机映射应具有同一组主机项。例如,ebs.admin.acme.com 域中的主机映射应该与 esg.admin.acme.com 中的主机映射相同。否则,一个地址可能可在一个 NIS 域中正常使用,但是无法用于其他 NIS 域。
有关任务信息,请参阅第 2 章中管理邮件别名文件(任务列表)。
以下列表介绍了 sendmail 与 NIS 和 DNS 的交互并提供了一些指导。
邮件域名-如果要将 NIS 设置为主名称服务,则 sendmail 会自动去除 NIS 域名的第一个组成部分并使用剩下的部分作为邮件域名。例如,ebs.admin.acme.com 将成为 admin.acme.com。
邮件主机名-启用 DNS 转发功能时,对 NIS 无法解析的查询将转发至 DNS,因此在 NIS 主机映射中无需 mailhost 项。
完整主机名-尽管 NIS 不能“识别”完整主机名,但 DNS 可以识别。如果遵循设置 NIS 和 DNS 的常规过程,则会满足此要求。
匹配完整主机名和短主机名-对于 NIS 主机表中的每个主机项,必须在 DNS 中具有对应的主机项。
多个 NIS 域在一个邮件域中-一个通用邮件域下的所有 NIS 主机映射应具有同一组主机项。例如,ebs.admin.acme.com 域中的主机映射应该与 esg.admin.acme.com 域中的主机映射相同。否则,一个地址可能可在一个 NIS 域中正常使用,但是无法用于其他 NIS 域。
有关任务信息,请参阅第 2 章中如何使用 DNS 和 sendmail和管理邮件别名文件(任务列表)。