在 Oracle® Solaris 11.2 中管理 sendmail 服务

退出打印视图

更新时间: 2014 年 7 月
 
 

sendmail 程序

以下列表介绍了 sendmail 程序的一些功能。

  • sendmail 可以使用不同类型的通信协议,如 TCP/IP 和 UUCP。

  • sendmail 可以实现 SMTP 服务器、邮件排队和邮件列表。

  • sendmail 可以通过使用符合以下命名约定的模式匹配系统来控制名称解释。

    • 基于域的命名约定。通过域技术可以区分物理命名和逻辑命名问题。有关域的更多信息,请参阅邮件地址

    • 临时技术,如提供对于其他网络中的主机而言看似位于本地的网络名。

    • 任意(早期)命名语法。

    • 完全不同的命名方案。

Oracle Solaris 操作系统使用 sendmail 程序作为邮件路由器。以下列表介绍了该程序的一些功能。

  • sendmail 负责接收电子邮件并将其传送给本地传送代理,如 mail.localprocmail

  • sendmail 是一个邮件传输代理,用于接受来自用户代理(如 mailx 和 Mozilla 邮件)的邮件并通过 Internet 将其路由至目标。

  • sendmail 控制用户以下列方式发送的电子邮件:

    • 确定收件人的地址

    • 选择合适的传送程序

    • 以传送代理可以处理的格式重写地址

    • 根据需要重新格式化邮件头

    • 最后将已转换的邮件传递给邮件程序以进行传送

有关 sendmail 程序的更多信息,请参阅以下主题。

sendmail 及其重新路由机制

sendmail 程序支持三种邮件重新路由机制。您选择的机制取决于涉及的更改类型。

  • 服务器更改

  • 域范围的更改

  • 面向一个用户的更改

此外,您选择的重新路由机制还会影响所需要的管理级别。请考虑以下选项。

  1. 一种重新路由机制是别名

    根据使用的文件类型,别名可在服务器范围内或名称服务范围内将名称映射到地址。

    请考虑名称服务别名的以下优点和缺点。

    • 使用名称服务别名文件允许从单个源中管理邮件重新路由更改。但是传播重新路由更改时,名称服务别名会产生延迟时间。

    • 名称服务管理通常限制为一组选定的系统管理员。普通用户将不能管理此文件。

    请考虑使用服务器别名文件的以下优点和缺点。

    • 通过使用服务器别名文件,指定的服务器上能够成为 root 的任何用户都可管理重新路由。

    • 传播重新路由更改时,服务器别名会产生很短的延迟时间或消除延迟时间。

    • 更改仅会影响本地服务器,这在大多数邮件都发送至一台服务器时可以接受。但是,如果需要将此更改传播至许多邮件服务器,请使用名称服务。

    • 普通用户将不能管理此更改。

    有关更多信息,请参阅本章邮件别名文件。有关任务列表,请参阅Chapter 2, 管理邮件服务中的管理邮件别名文件(任务列表)

  2. 第二种机制是转发

    通过此机制,用户可以管理邮件重新路由。本地用户可将其传入邮件重新路由至以下位置。

    • 其他邮箱

    • 不同的邮件程序

    • 其他邮件主机

    通过使用 .forward 文件可支持此机制。有关这些文件的更多信息,请参阅本章.forward 文件。有关任务列表,请参阅Chapter 2, 管理邮件服务中的管理 .forward 文件(任务列表)

  3. 最后一种重新路由机制是包含

    通过此机制,用户可维护别名列表而不会要求 root 访问。要提供此功能,root 用户必须在服务器上的别名文件中创建相应的项。创建该项之后,用户即可根据需要重新路由邮件。有关包含的更多信息,请参阅本章/etc/mail/aliases 文件。有关任务列表,请参阅Chapter 2, 管理邮件服务中的管理邮件别名文件(任务列表)


    注 - 读取邮件的程序(如 /usr/bin/mailx)可以有自己的别名,该别名在邮件到达 sendmail 之前会进行扩展。sendmail 的别名可以来自许多名称服务源,如本地文件或 NIS。查找顺序是由 svc:/system/name-service/switch 服务确定的。请参阅 nsswitch.conf(4) 手册页。

sendmail 功能

sendmail 程序提供了以下功能。

  • sendmail 很可靠。该程序用于正确传送每封邮件。任何邮件都不会完全丢失。

  • sendmail 会尽可能使用现有软件进行传送。例如,用户会与邮件生成程序和邮件发送程序进行交互。提交邮件时,邮件生成程序会调用 sendmail,后者将邮件路由至正确的邮件程序。由于有些发送器可能是网络服务器,有些邮件程序可能是网络客户机,因此可将 sendmail 用作 Internet 邮件网关。有关该过程的更详细说明,请参见邮件程序的交互

  • 可将 sendmail 配置为用于包括多个网络的复杂环境。sendmail 会检查地址的内容及其语法,以确定要使用的邮件程序。

  • sendmail 使用配置文件来控制邮件配置,而不要求将该配置信息编译成代码。

  • 用户可以维护各自的邮件列表。此外,各个用户还可以指定各自的转发机制,而无需修改域范围的别名文件,该文件通常位于由 NIS 维护的域范围别名中。

  • 每个用户可以指定定制邮件程序,以处理传入邮件。定制邮件程序可以提供返回内容为“I am on vacation”之类邮件的功能。有关更多信息,请参见 vacation(1) 手册页。

  • sendmail 可将地址批处理至单独一台主机,以减少网络通信流量。

sendmail 配置文件

配置文件控制 sendmail 执行其功能的方法。配置文件可确定要选择的传送代理、地址重写规则以及邮件头格式。sendmail 程序使用 /etc/mail/sendmail.cf 文件中的信息来执行其功能。

Oracle Solaris 操作系统在 /etc/mail 目录中提供了两个缺省配置文件。

  1. sendmail.cf,用于在守护进程模式下运行 sendmail 的配置文件。

  2. submit.cf,用于在邮件提交程序模式而非守护进程模式下运行 sendmail 的配置文件。有关更多信息,请参阅sendmail 版本 8.12 中的配置文件 submit.cf

    设置邮件客户机、邮件服务器、邮件主机或邮件网关时,请考虑以下情况:

  • 对于邮件客户机或邮件服务器,无需执行任何操作即可设置或编辑缺省配置文件。

  • 要设置邮件主机或邮件网关,需要设置邮件配置所需的中继邮件程序和中继主机参数。有关任务信息,请参阅Chapter 2, 管理邮件服务中的设置邮件服务(任务列表)更改 sendmail 配置。请注意,在 sendmail 版本 8.13 中,不再需要 main.cf 文件。

以下列表介绍了可以根据站点的要求来更改的一些配置参数。

  • 时间值,用于指定以下信息。

  • 传送模式,用于指定传送邮件的快速程度。

  • 负荷限制,可在繁忙期间提高效率。这些参数可防止 sendmail 尝试传送大型邮件、向许多收件人传送邮件以及向已长时间关闭的站点传送邮件。

  • 日志级别,用于指定记录的问题的种类。