我们已为虚拟域和虚拟邮箱配置了 Postfix,并且运行良好。但是,Postfix 现在认为除 my_destination 之外的所有内容都应以虚拟方式传递。这是一个问题,因为这意味着我们不能使用虚拟别名来传递外部邮件。
每当我尝试通过该服务器向我们不负责的域(即未出现在虚拟域的 mysql 表中也不在 my_destination 中)发送电子邮件时,我们都会收到以下错误消息:
554 5.1.1:收件人地址被拒绝:虚拟邮箱表中的用户未知
这种情况发生在我们不托管的每个域上,无论域名是什么。当我向 my_destination 中列出的域中的现有用户发送电子邮件时,它会在本地成功发送。
我们如何告诉 Postfix 不要尝试对不负责的域进行虚拟投递?如何让它将该电子邮件投递到正确的外部主机(当然假设发件人有中继权限)。
答案1
您可以粘贴您的 main.cf 内容并删除任何私人信息吗?
我只能假设你的 transport_maps 有点疯狂
答案2
我的同事在今天凌晨解决了这个问题。他发现这是我们用于检查域是否为虚拟域的 SQL 查询。我们错误地认为它应该返回一个虚拟域列表,而select distinct domain
实际上它实际上想检查域是否为虚拟域select domain where domain = %s
我们正在从旧式的 MySQL 查找配置切换到新式配置,并且根据文本文件将返回域列表这一事实做出了错误的假设,那么 MySQL 为什么不应该这样做呢?