我正在尝试将 postfix 设置为空客户端,也就是说,我只希望本地 Linux 用户能够使用 postfix 的 sendmail 二进制文件向外发送邮件。
不接收电子邮件,不为其他主机中继,不向用户发送本地邮件(我看不出有什么用处)。我只是想允许向外发送电子邮件。
我在 /etc/postfix/main.cf 中设置了这些参数:
myhostname = mail.thisisadomain.com
inet_interfaces = loopack-only
mydestination =
我应该设置其他参数或者更改配置中的其他内容吗?
我特别想知道如何处理该relayhost
参数,因为我不明白它的作用。
我已阅读此处的文档http://www.postfix.org/STANDARD_CONFIGURATION_README.html#null_client但我仍然不明白该relayhost
参数的作用,以及它对空客户端是否重要。
感谢您的帮助。
答案1
据我所知,http://www.postfix.org/STANDARD_CONFIGURATION_README.html#null_client假设空客户端不是永远在线的服务器例如,有时可以安全地将其关闭或与互联网隔离。该页面的以下代码片段
1 /etc/postfix/main.cf:
2 myhostname = hostname.example.com
3 myorigin = $mydomain
4 relayhost = $mydomain
5 inet_interfaces = loopback-only
6 mydestination =
...
Line 4: Forward all mail to the mail server that is responsible for the "example.com" domain.
This prevents mail from getting stuck on the null client if it is turned off while some remote destination is unreachable.
如果没有relayhost
参数,则每当空客户端关闭时,您的延迟队列中的电子邮件将不会重试,直到服务器重新上线或打开。因此,当您的机器打开时,电子邮件队列已经过期。
你应该提供relayhost
参数是无论您的盒子的状态(在线或离线),服务器relayhost
(始终保持在线的服务器)都会从您的空客户端重试卡住的电子邮件。