logfile 中的一个典型条目如下所示
04/24/94 07:12:04: [m0puwU8-00023UB] received | from: root | program: sendmail | size: 1468 bytes 04/24/94 07:12:04: [m0puwU8-00023UB] delivered | via: vstout.vbrew.com | to: root@vstout.vbrew.com | orig-to: root@vstout.vbrew.com | router: smart host | transport: smtp这表明从 root 发送到 root@vstout.vbrew.com 的消息已通过 SMTP 成功投递到主机 vstout。
smail 无法投递的消息会在日志文件中生成类似的条目,但会显示错误消息,而不是已投递部分
04/24/94 07:12:04: [m0puwU8-00023UB] received | from: root | program: sendmail | size: 1468 bytes 04/24/94 07:12:04: [m0puwU8-00023UB] root@vstout.vbrew.com ... defer (ERR 148) transport smtp: connect: Connection refused上面的错误通常发生在 smail 正确识别出消息应该投递到 vstout,但无法连接到 vstout 上的 SMTP 服务的情况。如果发生这种情况,要么是您的配置有问题,要么是您的 smail 二进制文件中缺少 TCP 支持。
这个问题并不像人们想象的那么罕见。曾经有一些预编译的 smail 二进制文件,甚至在某些发行版中,都没有对 TCP/IP 网络的支持。如果您的情況是这样,您就必须自己编译 smail。安装 smail 后,您可以通过 telnet 连接到您机器上的 SMTP 端口来检查它是否具有 TCP 网络支持。下面显示了成功连接到 SMTP 服务器的情况(您的输入标记如下)
$ telnet localhost smtp Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 monad.swb.de Smail3.1.28.1 #6 ready at Sun, 23 Jan 94 19:26 MET QUIT 221 monad.swb.de closing connection如果此测试没有产生 SMTP 欢迎信息(以 220 代码开头的行),首先请确保您的配置确实正确,然后再自行编译 smail,这将在下面介绍。
如果您在使用 smail 时遇到问题,并且无法从 smail 生成的错误消息中找到问题所在,您可能需要启用调试消息。您可以使用 -d 标志来执行此操作,可以选择后跟一个数字来指定详细程度(标志和数字参数之间可能没有空格)。然后,smail 会在屏幕上打印其操作报告,这可能会为您提供更多关于哪里出错的提示。
[不知道,... 也许人们觉得这不好笑:] 如果其他方法都无效,您可能希望通过在命令行中给出 -bR 选项,以 Rogue 模式调用 smail。man 手册页上关于此选项的描述是:“进入巨型邮件消息和 RFC 标准文档的敌对领域。尝试下降到协议层级 26 并返回。” 尽管此选项不会解决您的问题,但它可能会为您提供一些安慰和慰藉。