跳过导航链接 | |
退出打印视图 | |
![]() |
系统管理指南:网络服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
如何通过命令行向 NIS+ mail_aliases 表添加别名
如何在每个本地 /etc/mail/aliases 文件中创建 postmaster 别名
如何为 /etc/mail/aliases 文件中的别名添加 postmaster 邮箱
如何显示邮件队列 /var/spool/mqueue 的内容
如何在邮件队列 /var/spool/mqueue 中强制进行邮件队列处理
如何运行邮件队列 /var/spool/mqueue 的子集
如果站点不提供与公司外部的电子邮件服务的连接,或者公司位于单个域中,则您可以轻松设置邮件服务。
对于本地邮件,邮件需要两种类型的配置。有关这些配置的说明,请参阅仅本地邮件中的图 13-1。对于与域外部网络之间的通信,邮件需要两种以上的配置。有关这些配置的说明,请参阅硬件组件概述中的图 12-1,或本地邮件和远程连接中的图 13-2。可以在同一系统上合并这些配置,也可以在不同系统上提供这些配置。例如,如果邮件主机和邮件服务器功能位于同一系统上,请按照本节中的指示将该系统设置为邮件主机。然后,按照本节中的指示将同一系统设置为邮件服务器。
设置仅为本地用户提供邮件服务的邮件服务器时,无需采取任何特殊步骤。在口令文件或名称空间中,必须包含用户项。另外,对于要传送的邮件,用户应具有用于检查 ~/.forward 文件的本地起始目录。为此,通常会将起始目录服务器设置为邮件服务器。有关邮件服务器的更多信息,请参阅第 14 章中的硬件组件。
该邮件服务器可以路由许多邮件客户机的邮件。此类型的邮件服务器必须为客户机邮箱提供足够的假脱机空间。
注 - 首次传送消息时,mail.local 程序会自动在 /var/mail 目录中创建邮箱。因此,无需为邮件客户机创建单独的邮箱。
对于访问其邮箱的客户机,/var/mail 目录应可用于远程挂载。或者,可使用该服务器提供的邮局协议 (Post Office Protocol, POP) 或 Internet 消息访问协议 (Internet Message Access Protocol, IMAP) 等服务。以下任务说明了如何通过 /var/mail 目录设置邮件服务器。提供 POP 或 IMAP 配置指南超出了本文档范围。
对于以下任务,请确保 /etc/dfs/dfstab 文件会显示已导出 /var/mail 目录。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
# svcadm disable -t network/smtp:sendmail
# share
如果列出了 /var/mail 目录,请转到步骤 5。
如果未列出 /var/mail 目录或没有显示列表,请继续执行相应的子步骤。
按照过程如何设置自动文件系统共享,使用 /var/mail 目录启动 NFS 服务。
将以下命令行添加到 /etc/dfs/dfstab 文件中。
share -F nfs -o rw /var/mail
# shareall
# ypwhich
有关更多信息,请参阅 ypwhich(1) 手册页。
# nisls
有关更多信息,请参阅 nisls(1) 手册页。
# nslookup hostname
使用您的主机名。
有关更多信息,请参阅 nslookup(1M) 手册页。
# ldaplist
有关更多信息,请参阅 ldaplist(1) 手册页。
# svcadm enable network/smtp:sendmail
邮件客户机是一个在邮件服务器上具有邮箱的邮件服务用户。此外,邮件客户机在指向邮箱位置的 /etc/mail/aliases 文件中还具有邮件别名。
注 - 通过邮局协议 (Post Office Protocol, POP) 或 Internet 消息访问协议 (Internet Message Access Protocol, IMAP) 等服务,还可以执行邮件客户机设置任务。但是,提供 POP 或 IMAP 配置指南超出了本文档范围。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
# svcadm disable -t network/smtp:sendmail
该挂载点应已在安装过程中创建。您可以使用 ls 来确保此文件系统存在。以下示例显示了在未创建此文件系统时收到的响应。
# ls -l /var/mail /var/mail not found
如果此目录中存在邮件文件,则应移动这些文件,以便在通过服务器挂载 /var/mail 目录时不会覆盖它们。
将如下所示的项添加到 /etc/auto_direct 文件中。
/var/mail -rw,hard,actimeo=0 server:/var/mail
使用指定的服务器名。
将以下项添加到 /etc/vfstab 文件中。此项允许指定的邮件服务器中的 /var/mail 目录挂载本地 /var/mail 目录。
server:/var/mail - /var/mail nfs - no rw,hard,actimeo=0
重新引导系统时,会自动挂载客户机邮箱。如果不重新引导系统,请键入以下命令挂载客户机邮箱。
# mountall
![]() | 注意 - 为正常使用邮箱锁定和邮箱访问,必须在从 NFS 服务器挂载邮件时包含 actimeo=0 选项。 |
编辑 /etc/hosts 文件,并为邮件服务器添加项。如果使用名称服务,则无需此步骤。
# cat /etc/hosts # # Internet host table # .. IP-address mailhost mailhost mailhost.example.com
使用指定的 IP 地址。
使用指定的域。
使用指定的邮件主机。
有关更多信息,请参阅 hosts(4) 手册页。
有关管理邮件别名文件的任务列表,请参阅管理邮件别名文件(任务列表)。请注意,首次传送消息时,mail.local 程序会自动在 /var/mail 目录中创建邮箱。因此,无需为邮件客户机创建单独的邮箱。
# svcadm enable network/smtp:sendmail
邮件主机用于解析电子邮件地址并在域内重新路由邮件。合适的邮件主机候选系统是可为网络提供远程连接或将网络连接到父域的系统。以下过程说明了如何设置邮件主机。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
# svcadm disable -t network/smtp:sendmail
运行 check-hostname 脚本,验证 sendmail 是否可以识别此服务器的全限定主机名。
% /usr/sbin/check-hostname hostname phoenix OK: fully qualified as phoenix.example.com
如果此脚本无法成功识别全限定主机名,则需要将该全限定主机名作为主机的第一个别名添加到 /etc/hosts 中。
选择适合您的步骤。
在 IP 地址和邮件主机系统的系统名之后,添加单词 mailhost 和 mailhost.domain。
IP-address mailhost mailhost mailhost.domain loghost
使用指定的 IP 地址。
使用邮件主机系统的系统名。
使用扩展的域名。
现在,系统即被指定为邮件主机。domain 应与以下命令输出中指定为子域名的字符串相同。
% /usr/lib/sendmail -bt -d0 </dev/null Version 8.13.1+Sun Compiled with: LDAPMAP MAP_REGEX LOG MATCHGECOS MIME7TO8 MIME8TO7 NAMED_BIND NDBM NETINET NETINET6 NETUNIX NEWDB NIS NISPLUS QUEUE SCANF SMTP USERDB XDEBUG ============ SYSTEM IDENTITY (after readcf) ============ (short domain name) $w = phoenix (canonical domain name) $j = phoenix.example.com (subdomain name) $m = example.com (node name) $k = phoenix ========================================================
有关 hosts 文件应如何检查这些更改,请参见以下示例。
# cat /etc/hosts # # Internet host table # 172.31.255.255 localhost 192.168.255.255 phoenix mailhost mailhost.example.com loghost
创建以下项。
IP-address mailhost mailhost mailhost.domain loghost
# svcadm enable network/smtp:sendmail
有关说明,请参见如何测试邮件配置。
邮件网关用于管理与域外部网络之间的通信。发送邮件网关中的邮件程序可以与接收系统中的邮件程序匹配。
适合作为邮件网关的系统是指连接到以太网和电话线的系统。此外,还可以是配置为 Internet 路由器的系统。可以将邮件主机或其他系统配置为邮件网关。您可能会选择为域配置多个邮件网关。如果使用 UNIX 对 UNIX 复制程序 (UNIX-to-UNIX Copy Program, UUCP) 连接,则应将采用 UUCP 连接的系统配置为邮件网关。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
# svcadm disable -t network/smtp:sendmail
运行 check-hostname 脚本,验证 sendmail 是否可以识别此服务器的全限定主机名。
# /usr/sbin/check-hostname hostname phoenix OK: fully qualified as phoenix.example.com
如果此脚本无法成功识别全限定主机名,则需要将该全限定主机名作为主机的第一个别名添加到 /etc/hosts 中。如果需要有关此步骤的帮助,请参阅如何设置邮件主机中的步骤 4。
# ypwhich
有关更多信息,请参阅 ypwhich(1) 手册页。
# nisls
有关更多信息,请参阅 nisls(1) 手册页。
# nslookup hostname
使用您的主机名。
有关更多信息,请参阅 nslookup(1M) 手册页。
# ldaplist
有关更多信息,请参阅 ldaplist(1) 手册页。
# svcadm enable network/smtp:sendmail
有关说明,请参见如何测试邮件配置。
DNS 名称服务不支持单个别名。此名称服务支持使用邮件交换器 (Mail Exchanger, MX) 记录和 CNAME 记录的主机或域的别名。您可以在 DNS 数据库中指定主机名、域名或同时指定这两个名称。有关 sendmail 和 DNS 的更多信息,请参见第 14 章中的sendmail 与名称服务的交互或参见《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
编辑 /etc/nsswitch.conf 文件,并从包含 dns 标志的 hosts 定义中删除 #。如下例所示,主机项必须包含 dns 标志,以便使用 DNS 主机别名。
# grep hosts /etc/nsswitch.conf #hosts: nisplus [NOTFOUND=return] files hosts: dns nisplus [NOTFOUND=return] files
使用 nslookup 确保 DNS 数据库中存在 mailhost 和 mailhost.domain 项。有关更多信息,请参阅 nslookup(1M) 手册页。