Exim 没有任何通过 UUCP 传输邮件的特定代码,也不支持 UUCP bang path 地址。但是,如果正在使用域寻址,Exim 可以相当简单地与 UUCP 接口。这是一个用于将某些域发送到 UUCP 的配置片段,取自实际安装
# Transport uucp: driver = pipe user = nobody command = "/usr/local/bin/uux -r - \ ${substr_-5:$host}!rmail ${local_part}" return_fail_output = true # Router uucphost: transport = uucp driver = domainlist route_file = /usr/exim/uucphosts search_type = lsearch |
在一个完整的配置文件中,传输应插入到其他传输中,并且路由器可能被定义为第一个路由器。文件/usr/exim/uucphosts包含像这样的条目
darksite.example.com: darksite.UUCP |
每当路由器遇到路由文件中的域时,它会将地址发送到 UUCP 传输,然后将其管道传输到 uux 命令(在 第 16 章 中描述)。如果出现问题,uux 将生成一些输出并以非零错误代码终止。设置return_fail_output确保输出返回给发送者。
如果传入的 UUCP 消息被分组为批处理的 SMTP 格式的文件,它们可以使用像这样的命令直接传递给 Exim
exim -bS </var/uucp/incoming/001 |
但是,有一个问题。当 Exim 在本地收到消息时,它坚持认为发送者是调用它的已登录用户,但对于 UUCP 批处理,我们希望发送者来自传入的消息。如果调用它的进程作为受信任用户运行,Exim 将执行此操作。例如,如果您安排传入的 UUCP 由名为 uucp 的用户处理,您需要指定
trusted_users = uucp |