我正在pipe理一个邮件服务器,由于数据中心的维护,这个服务器会暂时closures三天或四天。 我想find一个解决scheme(全部或部分)解决在这个不可用期间丢失的邮件。 由于数据量巨大,迁移到其他数据中心非常困难。
我想到的一种方法是在其他数据中心设置一个临时邮件服务器,当收到新邮件时,邮件服务器会自动发送一个回复邮件告诉发件人“我们暂时closures三天或四天,请发邮件稍后或以其他方式联系。“
我想知道这种方法可能与现有的邮件服务器? 还是更好的东西? (免费的解决scheme是首选,因为它只是暂时的)
指向辅助MXlogging您的临时服务器。 这里有一个简单的例子:
gmail.com. 1299 IN MX 5 gmail-smtp-in.l.google.com. gmail.com. 1299 IN MX 10 alt1.gmail-smtp-in.l.google.com.
当需要维护时,请将主服务器脱机。 由于任何发送邮件的应该是非交互的,没有人会真正注意到任何超时问题。 当邮件服务器无法联系你的主服务器时,它将回退到下一个更高号的服务器(本例中服务器名称之前的5/10)。
应该将编号较高的服务器configuration为充当辅助邮件服务器。 它不必将邮件传递到邮箱,只要保留它直到可以到达主邮箱。 这是一个Postfix的configuration示例 。
您可以设置当前邮件系统(用户和结构)的克隆,使新服务器成为您所服务的域的电子邮件configuration,确认交付正在对新服务器工作,并取消旧的MX,使其不会收到消息。 此时,您的用户将在维护中的数据中心看到他们的电子邮件“消失”,但他们至less会看到他们当前的电子邮件。 一旦数据中心维护完成,您可以使旧的MX恢复联机,并撤消临时域的电子邮件configuration,然后使用rsync将电子邮件从临时服务器传输到用户的“真实”邮箱。
FWIW,我认为如果他们的发件人像这样反弹,你会让你的电子邮件用户感到难堪。 只作为最后的手段使用。
你正在寻找的是一个“存储和转发”服务,其中有很多。 在将系统closures之前,您需要编辑MXlogging以指向存储转发系统。 系统启动时,所有邮件将正常传送。 当系统closures时,其他系统将代表您接收邮件并存储它们。 当您的系统重新启动时,所持有的邮件将被传送到您的系统。