我有一个在 Debian 机器上运行的 Postfix 邮件服务器。
该服务器处理所有传入邮件。但是,我希望发送到某个子域的所有邮件都由计算机上另一个端口上运行的另一个邮件服务器处理。
换句话说,所有发送到 *@subdomain.domain.tld 的邮件都应发送到地址和端口 XX.XX.XX.XX:YYYY
目前我在 /etc/postfix/virtual 中处理别名,但我不知道如何在那里输入此规则。
我还应该提到,postfix 目前可能没有配备接收发往子域的任何邮件的功能。因此,如果您能从一开始就解释如何做到这一点,那就太好了……
如何实现这一点?
答案1
如果我正确理解了您的问题,您必须(1)为该域启用中继和(2)在传输图中设置目标服务器。
在任何更改之前备份 postfix 配置文件(不是必需的,但建议这样做)。
为了允许中继,您需要
relay_domains = subdomain.domain.tld
在 postfix 配置中进行设置(最有可能是 /etc/postfix/main.cf)。transport_maps = hash:/etc/postfix/transport
然后,您需要使用(或 Postfix 有权访问的任何其他文件)在该域的配置文件中设置目标服务器;创建包含内容的此文件subdomain.domain.tld smtp:XX.XX.XX.XX:YYYY
(如果需要,分配权限),然后使用 shell 命令构建数据库postmap /etc/postfix/transport
。
更改后请不要忘记重新启动 postfix。