我正在开发一个群发邮件系统。在我们发送2-4K电子邮件时,电子邮件联系人使用PHPexcel库以相同数量的电子邮件导入。 昨晚,当我们发送2k电子邮件时,我们收到“500内部服务器”错误。
我想我应该开发电子邮件处理和联系人导入的新流程,对吗?如果是这样,我该怎么做?有没有其他方法可以克服这500个错误?
PHP脚本由Web浏览器调用,浏览器将其加载5-10分钟,然后发生500错误。我正在使用PHPMailer库发送邮件。
答案 0 :(得分:1)
从Web浏览器调用长时间运行的PHP脚本与在后台运行PHP并不完全相同。这将锁定一个Apache线程,并且很可能受到PHP配置的任何超时限制。我的猜测是在发送完成之前超时。
最好在cron上执行此操作。以下是一些一般性指示:
这将更加可靠。对于奖励积分,请写一个网页,向您显示发送的电子邮件以及仍在等待的电子邮件。此外,您可能希望使用第三方邮件系统,如MailChimp,以提高您的交付可靠性。确保所有收件人都选择接收您的电子邮件。
我建议脚本应该以100个为一组进行批处理,运行5分钟,每隔10分钟调用一次,并在每次发送后暂停几秒钟 - 但这些只是示例。如果您不介意发送得更慢(例如一夜之间),那么您可以更改这些数字以适应。发送速度越慢通常越可靠,如果可以,请这样做。