smail编译了许多利用UUCP套件的传输方式。在UUCP环境中,消息通常通过在下一台主机上调用rmail来传递,在标准输入中提供消息,并在命令行中提供信封地址。在您的主机上,rmail应该是指向smail命令的链接。
当将消息传递给UUCP传输时,smail会将目标地址转换为UUCP bang路径。例如,user@host 将被转换为 host!user。任何出现的`%`地址运算符都会被保留,因此 user%host@gateway 将变为 gateway!user%host。但是,smail本身永远不会生成这样的地址。
或者,smail可以通过UUCP发送和接收BSMTP批处理。使用BSMTP,一个或多个消息被包装在一个批处理中,其中包含如果已建立真正的SMTP连接,本地邮件程序将发出的命令。BSMTP常用于存储转发(例如,基于UUCP的)网络中,以节省磁盘空间。附录- 中的示例传输文件包含一个名为bsmtp的传输方式,它在队列目录中生成部分BSMTP批处理。它们稍后必须合并到最终批处理中,使用一个shell脚本来添加适当的HELO和QUIT命令。
要为特定的UUCP链接启用bsmtp传输,您必须使用所谓的方法文件(详细信息请参阅smail(5)手册页)。如果您只有一个UUCP链接,并且使用智能主机路由器,则可以通过将 smart_transport 配置变量设置为bsmtp而不是uux来启用发送SMTP批处理。
要通过UUCP接收SMTP批处理,您必须确保您拥有远程站点发送批处理所使用的解批处理命令。如果远程站点也使用smail,则需要将rsmtp链接到smail。如果远程站点运行sendmail,您还应该安装一个名为 /usr/bin/bsmtp 的shell脚本,该脚本执行简单的 ``exec rsmtp'' (符号链接不起作用)。