如何处理VPS上同时打开的一个SMTP套接字?

我拥有一个用于托pipe大约30个域名的VPS。 在每个域我有几个电子邮件帐户。 共有超过150个帐户。 在过去的几周里,我注意到有时(一天几次,大部分是在高峰时间),有几封邮件没有发送,而是延期发送。 在maillog中有一个消息“拒绝连接”。 过了一段时间,他们最终成功发送。 有的在2-3小时后有一段时间过了5分钟后才发送,但是都发了。

我是一个网页devise师,具有良好的编程知识,但不幸的是在Linux(Centos7)方面经验不足。

自己无法find问题后,我到达了我的VPS的托pipe公司。 他们说,他们确实已经限制了所有的VPS 在当时只能打开一个SMTP套接字 。 他们这样做是为了防止垃圾邮件发送者将他们的IP(或整个IP范围)列入黑名单。 他们提供了我切换到专用或find另一个主机。 由于专用服务器的价格是VPS的价格的几倍,我真的不需要切换到专用(我已经提到,我主持30个小网站),我试图find解决这个问题的解决scheme。

目前,我强制重发的延期电子邮件

postqueue -f

命令。 但是我需要手动执行这个命令,并且和队列中的延期邮件一样多 。 更不用说需要不断地监视队列中的电子邮件。 显然这不是我的问题的解决scheme。

我试图安排一个crone每5分钟执行一次postqueue命令,但在第一次执行后,我得到了一些像Unknown命令postqueue或command not found或类似的错误的东西…我想这与环境variables有关,但是这是失败我现在的知识范围。 除此之外,如果在队列中有10个被拒绝的邮件,则每个cron执行只发送一个邮件。 所以最后一封邮件将在50分钟后发送,这仍然不是一个很好的解决scheme。 我需要一个cron来运行这样的事情每5分钟运行一次crone(或者其他)

 while (there are deferred emails in the queue) { postqueue -f } 

出现了另一个问题:如果电子邮件由于另一个原因,而不是连接被拒绝,例如目的地主机不可达,那么该怎么办?比这个cron永远不会完成…!?! 一般来说,这个cron解决scheme的性能如何?

你有没有类似的问题的经验? 我如何生活在我的VPS这个SMTP套接字限制。 我应该find另一个主机或切换到专用?

这可能是相关的:我在我的VPS上使用centos 7,并且拥有用于域pipe理的Plesk面板。

任何帮助将是伟大的。 谢谢!

编辑:

我设法用这个命令安排一个cron

/ sbin / postqueue -f

每5分钟运行一次( 0,5,10,15,20,25,30,35,40,45,50,55 * * * * )。 但是,如上所述,这仍然不是一个完美的解决scheme。