在 AIX 上使用 Sendmail 的有趣技巧
2010-06-08 00:00:00 来源:WEB开发网Sendmail 中的 mailer table 用于覆盖某些域的路由,这些域不是本地主机名。
接下来,创建新的 /etc/mail/mailertable 文件。这个文本文件包含需要转发邮件的域名和接收邮件的 SMTP 服务器的名称。
notus.com.au esmtp:[notus.com.au]
要发送到 notus.com.au 域的邮件会转发到指定的 SMTP 主机 notus.com.au。方括号 ([ ]) 让 SMTP 忽略对 notus.com.au 的 MX 记录查询,避免对这个不连接 Internet、无法通过 DNS 解析的主机产生 “mail loops back to self” 错误。
然后,必须使用前面创建的 mailertable 文本文件创建 mailertable 数据库 (mailertable.db)。这通过 makemap 实用程序完成:
# cd /etc/mail
# makemap hash /etc/mail/mailertable < mailertable
# ls mailertable.db
mailertable.db
还需要把 NotUs 服务器添加到本地的 /etc/hosts 文件中。
10.1.1.20 notus.com.au
Sendmail 需要能够解析主机名,而这个服务器在 DNS 能够解析的范围之外。
完成这些修改之后,刷新 Sendmail 守护进程 (refresh –s sendmail)。为了确认 mailertable 条目是正确的,确认邮件会投递到正确的主机,我运行以下命令:
$ sendmail -bv user@notus.com.au
user@notus.com.au... deliverable: mailer esmtp, host [notus.com.au],
user user@notus.com.au
–bv 标志启动 Sendmail 并请求确认命令的 Address 参数字段中指定的用户 ID。这个 sendmail 命令的响应是一个消息,它指出哪些 ID 可以解析为 mailer 命令。它并不尝试投递邮件。可以使用这个模式检查用户 ID、别名或邮件列表的格式。
更多精彩
赞助商链接