我的代码有问题。我想从不同的客户发送10封电子邮件。然后,我将自己的过程进行了循环。并且每个循环我都将status列更新为1
。我的问题是只有1封电子邮件可以发送。我的循环不会继续到下一个电子邮件地址。这是我的代码:
$dummy = $this->Users_model->get_dummy_email(); //produces 10 results.
$valid_email = array();
$this->load->library('email');
$config = array(
'protocol' => 'sendmail',
'smtp_host' => 'mail.sample.ph',
'smtp_port' => 587,
'mailtype' => 'html',
'charset' => 'utf-8'
);
$this->email->initialize($config);
$this->email->set_mailtype("html");
foreach($dummy as $d) { //loop is ok
$this->email->clear();
$this->email->from('[email protected]', 'Admin');
$this->email->to($d['email']);
$this->email->cc('[email protected], [email protected]');
$this->email->subject("TEST MESSAGE ONLY USING CRON");
$this->email->message("TEST FROM ADMIN");
$send_mail = $this->email->send();
if($send_mail) {
$this->Users_model->updateDummyStatus($d['id']);
return true;
} else {
echo $this->email->print_debugger();
}
}
你能帮我什么是我的错误。我也尝试将初始化放入循环中,并且仍然具有相同的效果。只能发送1封电子邮件。
发送电子邮件后,您正在循环中使用return。return语句立即结束当前函数的执行。因此,您剩余的电子邮件将不会发送。
if($send_mail) {
$this->Users_model->updateDummyStatus($d['id']);
//return true; <--- Remove this line..
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句