通过 TCP 使用 UUCP
尽管缺乏吸引力,通过 TCP 使用的 UUCP 电子邮件对于没有永久互联网连接的网站以及没有固定 IP 地址的网站来说,仍是一个实用的选择。如需更多信息,请参阅以下指南:
- Jim Seymour 的 UUCP 通过 TCP 指南,网址为 http://jimsun.LinxNet.com/jdp/uucp_over_tcp/index.html,
- Craig Sanders 关于使用 stunnel 通过 TCP 进行 SSL 加密 UUCP 的指南,请访问 http://taz.net.au/postfix/uucp/。
以下是本文档内容的图形化描述:
本地网络 <---> LAN 到
UUCP
网关<---UUCP---> 互联网
到 UUCP
网关<--->Internet
以下是本文档的目录:
设置 Postfix 互联网到 UUCP 网关
以下是设置一台位于互联网上的机器并将其邮件转发到通过 UUCP 连接的局域网的方法。请参阅 局域网到 UUCP 网关 部分以了解另一侧的设置。
- 您需要一个rmail程序,用于从通过UUCP接收的邮件中提取发件人地址,并将邮件传递给Postfix的sendmail命令。大多数UNIX系统都自带rmail工具。如果急需,可以尝试Postfix源代码中auxiliary/rmail目录下提供的版本。
定义一个基于pipe(8)的邮件传输方式,用于通过UUCP发送邮件:
/etc/postfix/master.cf: uucp unix - n n - - pipe flags=F user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
这将运行uux命令,将待发送邮件放入UUCP队列中,同时将$nexthop替换为下一跳主机名(接收UUCP主机),并将$recipient替换为收件人。pipe(8) 传递代理在不借助 shell 的情况下执行 uux 命令,因此命令行参数中不会出现 shell 元字符问题。
指定发往 example.com 的邮件应通过 UUCP 发送到名为 uucp-host 的主机:
/etc/postfix/transport: example.com uucp:uucp-host .example.com uucp:uucp-host
参见 transport(5) 手册页以获取更多详细信息。
- 每次修改 transport 文件后,执行命令 "postmap /etc/postfix/transport"。
启用 transport 表查找:
/etc/postfix/main.cf: transport_maps = hash:/etc/postfix/transport
如果您的系统使用 dbm 文件而非 db 文件,请将 hash 替换为 dbm。要查看 Postfix 支持的映射类型,请使用命令 "postconf -m"。
将 example.com 添加到网站愿意转发邮件的域名列表中。
/etc/postfix/main.cf: relay_domains = example.com ...其他 中继域...
请参阅 relay_domains 配置参数的详细说明。
- 执行命令 "postfix reload" 以使更改生效。
设置 Postfix LAN 到 UUCP 网关
以下是通过 UUCP 从 LAN 转发邮件到互联网的方法。有关另一侧的详细信息,请参阅 互联网到 UUCP 网关 部分。
- 您需要一个rmail程序,该程序可从通过UUCP接收的邮件中提取发件人地址,并将邮件传递给Postfix的sendmail命令。大多数UNIX系统都自带rmail工具。如果急需,可尝试Postfix源代码中auxiliary/rmail目录下提供的版本。
指定所有远程邮件必须通过uucp邮件传输协议发送至您的UUCP网关主机,例如uucp-gateway:
/etc/postfix/main.cf: relayhost = uucp-gateway default_transport = uucp
Postfix 2.0 及更高版本还支持以下更简洁的格式:
/etc/postfix/main.cf: default_transport = uucp:uucp-gateway
定义一个基于 pipe(8) 的邮件传输方式,用于通过 UUCP 发送邮件:
/etc/postfix/master.cf: uucp unix - n n - - pipe flags=F user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
这将运行uux命令,将待发送邮件放入UUCP队列。在执行命令前,会替换下一跳主机名(uucp-gateway,或您指定的其他值)和收件人。uux命令在不依赖shell的情况下执行,因此不会出现shell元字符问题。
- 执行命令 "postfix reload" 以使更改生效。