使用cakePHP发送批量电子邮件

时间:2017-08-01 07:23:57

标签: php cakephp cakephp-3.0 cakephp-3.2 cakephp-3.4

我正在尝试一次向超过2000个电子邮件ID发送电子邮件,但它正在抛出502 Bad Gateway错误。 如果我发送一封电子邮件到600封邮件中,它的工作正常,但需要花费10分钟时间发送给所有人。如果有人知道,请帮助我。 这是我的代码

foreach ($submail as $mail) {         
        $email = new Email();
        $email->template('abc');
        $email->emailFormat('both');
        $email->from(['abc@abc.com' => 'abc']);
        $email->to($mail);
        $email->subject('abc');
        if ($email->send()) {

        } else {

        }
   }

1 个答案:

答案 0 :(得分:3)

最好为您的电子邮件创建一个队列,并使用CLI工作人员实际发送您的电子邮件。看看众多插件中的一个:

  1. lorenzo-cakephp-email-queue
  2. nodesagency-cakephp-email-queue

    等。 对您的电子邮件进行排队并使用专门发送电子邮件的CLI工作人员会打开一些额外的机会,例如在特定时间使用cronjobs等发送电子邮件。