Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SMTP服务器上并发电子邮件的ZF2未捕获异常超出限制_Php_Oop_Zend Framework2 - Fatal编程技术网

Php SMTP服务器上并发电子邮件的ZF2未捕获异常超出限制

Php SMTP服务器上并发电子邮件的ZF2未捕获异常超出限制,php,oop,zend-framework2,Php,Oop,Zend Framework2,当我试图同时发送多封邮件时,ZF2引发未捕获异常, 使用SMTP服务器 发送5封电子邮件后,会引发异常: 未捕获异常:“无法从主机读取”来自 Zend\Mail\Protocol\AbstractProtocol 这是在SMTP服务器发送错误后发生的: 此客户端的邮件提交速率已超过配置的限制 因为这是在调用析构函数时抛出的,所以我无法在脚本中捕获它。在我的脚本中,有任何关于如何捕捉这一点的建议。与Zend Framework 2或任何其他库无关。您使用的邮件服务的信息非常清楚:您超出了费率限制

当我试图同时发送多封邮件时,ZF2引发未捕获异常, 使用SMTP服务器

发送5封电子邮件后,会引发异常:

未捕获异常:“无法从主机读取”来自 Zend\Mail\Protocol\AbstractProtocol

这是在SMTP服务器发送错误后发生的:

此客户端的邮件提交速率已超过配置的限制


因为这是在调用析构函数时抛出的,所以我无法在脚本中捕获它。在我的脚本中,有任何关于如何捕捉这一点的建议。

与Zend Framework 2或任何其他库无关。您使用的邮件服务的信息非常清楚:您超出了费率限制

无论如何,你有几个选择

  • 不要在一个while/for循环中发送大量电子邮件,因为你没有一个很酷的付费电子邮件服务,它不会对你的帐户施加任何费率限制。(无论是否付费,几乎所有像您这样的服务都会应用费率限制来防止滥用。这是正常的。)
  • 在脚本中添加一个
    try{}catch(){}
    块,当超过限制时,只需停止,等待一段时间,然后重试
  • 你可以考虑写一个Crand Word和一个CLI脚本来发送每分钟X电子邮件。
  • 如果您需要发送数千封电子邮件,那么通过使用该队列(一次发送X封电子邮件)来实现发送电子邮件将更好
  • 请您的邮件服务提供商增加限额
  • 如果费率仍然不够,请更换您的邮件服务提供商