我在两个不同的Ubuntu服务器上configuration了两个exim4实例。 他们都接受同一个三个域的电子邮件。 主要的是作为最终的目的地,而次要的只是传递给主要的电子邮件。
但是,不可路由的地址有一个问题。 每隔一段时间,辅助服务器都会收到一个不存在的地址的电子邮件,但在适当的域内。 它接受此消息,然后尝试将其中继到主服务器。 然而,主服务器拒绝与“550无路由地址”,从而使二级卡住所有这些消息冻结在队列中。
什么是适当的解决这个问题? 辅助服务器应该放弃被主服务器拒绝的消息吗? 如果是这样,我怎么configuration它来做到这一点?
我怎么做,而不会失去冗余。 假设主服务器出现configuration错误,并拒绝所有消息。 我不想失去他们。 我真的很感激,如果辅助服务器举行,直到主要恢复到其正确的configuration。
当然,这个问题不是新的,规范的解决scheme存在…?
我已经看到了使用中的机制:
删除通过辅助服务器发送到不存在的地址的消息。 这可以防止使用辅助服务器生成反向散布垃圾邮件。
安排在辅助服务器上提供用户数据库。 如果您正在使用LDAP作为用户数据库,这相对容易。 / etc / passwd中的用户比较困难,但可以通过将文件复制到Exim可以使用的位置来完成。
向目标服务器发出呼叫以validation地址。 如果主服务器出现故障,这会中断,但我相信有caching。
如果主服务器启动并拒绝邮件,我不相信您的辅助服务器会收到任何合法的邮件。 如果任何服务器拒绝邮件,邮件应该被反弹。 服务器(不包括垃圾邮件)将不会尝试从服务器来查看是否会传递邮件。
大多数电子邮件服务器正确处理服务器中断,并将邮件排队以备后用。 许多人会尝试几天。 那些不是通常垃圾邮件,或者执行不力的自动邮件传递系统。