Php SMTP服务器上并发电子邮件的ZF2未捕获异常超出限制
当我试图同时发送多封邮件时,ZF2引发未捕获异常, 使用SMTP服务器 发送5封电子邮件后,会引发异常: 未捕获异常:“无法从主机读取”来自 Zend\Mail\Protocol\AbstractProtocol 这是在SMTP服务器发送错误后发生的: 此客户端的邮件提交速率已超过配置的限制Php SMTP服务器上并发电子邮件的ZF2未捕获异常超出限制,php,oop,zend-framework2,Php,Oop,Zend Framework2,当我试图同时发送多封邮件时,ZF2引发未捕获异常, 使用SMTP服务器 发送5封电子邮件后,会引发异常: 未捕获异常:“无法从主机读取”来自 Zend\Mail\Protocol\AbstractProtocol 这是在SMTP服务器发送错误后发生的: 此客户端的邮件提交速率已超过配置的限制 因为这是在调用析构函数时抛出的,所以我无法在脚本中捕获它。在我的脚本中,有任何关于如何捕捉这一点的建议。与Zend Framework 2或任何其他库无关。您使用的邮件服务的信息非常清楚:您超出了费率限制
因为这是在调用析构函数时抛出的,所以我无法在脚本中捕获它。在我的脚本中,有任何关于如何捕捉这一点的建议。与Zend Framework 2或任何其他库无关。您使用的邮件服务的信息非常清楚:您超出了费率限制 无论如何,你有几个选择
- 不要在一个while/for循环中发送大量电子邮件,因为你没有一个很酷的付费电子邮件服务,它不会对你的帐户施加任何费率限制。(无论是否付费,几乎所有像您这样的服务都会应用费率限制来防止滥用。这是正常的。)
- 在脚本中添加一个
块,当超过限制时,只需停止,等待一段时间,然后重试try{}catch(){}
你可以考虑写一个Crand Word和一个CLI脚本来发送每分钟X电子邮件。
- 如果您需要发送数千封电子邮件,那么通过使用该队列(一次发送X封电子邮件)来实现发送电子邮件将更好
- 请您的邮件服务提供商增加限额
- 如果费率仍然不够,请更换您的邮件服务提供商