我有一台服务器正在为客户发送电子邮件,每分钟 5000 封 :) 我只使用 php 和一个邮件服务器设置了 10 个 vps。在每个 vps 上,有 10 个 cronjobs,每个 cronjobs 发送 50 封邮件。他们从另一台服务器的 mysql 队列中获取电子邮件,并将电子邮件发送到它自己的 vps 中。
到目前为止一切都很好。当发送的电子邮件有一个小的 html 代码(例如最多 400-500 条代码)时,它可以完美运行。一个 cronjob 在大约 30 秒内发送 50 封这样的电子邮件。Cronjobs 每分钟运行一次,所以为了不造成过载,如果 cronjob 没有在一分钟内完成,它会杀死自己并将未发送回的电子邮件放入队列中。所以下一个 cronjob 会在另一个 cronjob 离开的地方继续。
我的问题是带有 1000 或 2000 行 html 代码的大电子邮件需要更长的时间才能发送。例如,一封 4-500 行的电子邮件在 0.5-0.8 秒内发送,因此 cronjob 在不到一分钟的时间内完成发送 50 封电子邮件,但 1000 多行电子邮件在大约 2 秒内发送,因此 cronjob 永远无法完成一次发送 50 封电子邮件分钟。
问题是服务器每分钟发送 5000 封电子邮件的 normail 活动,但每分钟发送不超过 2000-3000 封电子邮件的大型 html 电子邮件活动。这意味着速度减半。
有人知道使大型 html 电子邮件发送速度更快的解决方案吗?
我正在使用 php 5.13、phpmailer 和带有 ssd 硬件的 8 核 3.4 Ghz 服务器。
任何帮助或想法将不胜感激!谢谢!