逐渐从一台SMTP服务器迁移到另一台

我维护一个每天发送大量电子邮件的应用程序。 很快,我们将不得不迁移到另一个SMTP服务器,它具有一个没有邮件传递信誉的IP地址。 因此,我并不是仅仅翻转交换机,而是通过新服务器发送一小部分邮件,然后逐渐增加,直到达到100%。

在应用程序本身中实现某些东西并不是很难,但我想知道是否有一个更简单,更可靠的开箱即用型解决scheme。

我的第一个想法是使用循环DNS这一点,但服务器需要不同的凭据,使用不同的协议(一个使用SASL,另一个不),甚至不同的端口号,所以我认为这排除了基于DNS的解决scheme。

有没有办法,例如,configurationPostfix发送x个电子邮件中的1个来中继主机A,其余的则是中继主机B? 或者也许是一个不同的MTA?

我将在新旧邮件服务器前设置一个负载平衡器。 使用加权循环平衡algorithm,并将1%的电子邮件发送到新服务器以预热IP。 我在过去使用过这个方法,效果很好。

改变configuration的Cronjob?,使用新的服务器作为邮件中继每小时10分钟。

/etc/postfix/switch_to_new.sh

#!/bin/bash #Switch to new mail relay for a bitty... postconf -e relayhost=[mail.mynewserver.com]:587 postfix reload 

/etc/postfix/switch_back.sh

 #!/bin/bash #delete relayhost postconf -e relayhost= postfix reload 

然后只需要cron之间根据需要..当你达到100%中继,切换到新的服务器的应用程序。