Exim4configuration使用几个外部IP进行邮件发送

我已经在Ubuntu的服务器上exim4,我有一个20个外部IP池。

有可能configurationexim4使用这个ip -s旋转来发送邮件吗?


我想我可以做到这一点iproute / iptables的负载平衡与“链接棒”,但我想知道如果这是可能的exim4内部configuration。 也许在那里我应该创build几个外部smtp_drivers将使用20 IP和一些随机()function之一?

我发现这篇文章展示了如何设置一个随机函数从列表中select一个IP,然后将其作为输出接口分配给smtp驱动程序。

基本上,你必须build立一个function:

sub randinet { @inet = ("xxx1", "xxx2", "xxx3", "xxx4"); return $inet[int rand($#inet+1)]; } 

并修改smtp驱动程序:

 remote_smtp: driver = smtp interface = "${perl{randinet}}" 

你可以在exim之内做到这一点,而不使用Perl:

创build一个查找文件/etc/exim/ips.txt

 1: xxx.xxx.xxx.1 2: xxx.xxx.xxx.2 3: xxx.xxx.xxx.3 4: xxx.xxx.xxx.4 

将运输工具设置为:

 remote_smtp: driver = smtp interface = "${lookup {${randint:5}} lsearch {/etc/exim/ips.txt}}" 

randint将返回一个1-4之间的随机数字,然后在文件中查找并使用,如果你有更多的IP只是添加到列表中,并增加randint值到数字ips + 1

可以使用exim而不使用perl或只是不想使用perl在exim中保存。

如果你遵循topdog的方法,你会得到以下错误。

有两个传输称为“remote_smtp”

因为您无法更改exim conf编辑器中的STARTTRANSPORT部分。

即使您尝试手动更改exim.conf,它也将被清除,并在重新启动时replace为默认值。

我唯一可以在网上find的解决scheme是http://forums.cpanel.net/f43/scripts-posteximup-help-205971.html#post845302

我也张贴了一张cPanel的票。 让我们看看他们如何回应。 一旦我收到回复,会尝试更新它。