我有一个 Postfix 服务器,其中有以下main.cf
文件(我只会显示相关信息):
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
现在,每次我想通过中继服务器中继来自一个域的消息时,我都需要将数据添加到/etc/postfix/sasl_passwd
和/etc/postfix/sender_relay
文件中:
在 /etc/postfix/sasl_passwd 文件中
@example.com myuser:mypass1234
/etc/postfix/sender_relay
@example.com [relay.example.com]:587
在我看来,这似乎非常多余。
我的问题
我想知道是否有办法只使用/etc/postfix/sasl_passwd
文件,并定义一个全局relayhost = [cluster.securitybox.cl]:587
并告诉 Postfix,如果文件中列出了域,则/etc/postfix/sasl_passwd
使用该全局中继,如果没有,则不使用任何中继。或者任何其他选项,这样我就不必将数据写入单独的文件。
如果您有创造力,那么您可以尝试将两个表合并为一个 MySQL 数据库,并配置不同的 Postfix 查询来提取适当的信息。