首页 > 解决方案 > 如何在电子邮件 Codeigniter 中循环收件人

问题描述

已尝试向多个收件人发送电子邮件,但只发送了 1 个数据:

function reminder(){
    $recipients= $this->user_model->view();
    var_dump($recipients[0]->email);
    $emaill = $recipients->email;
    $recipientsmail= $emaill.',';
    $email = $recipientsmail;
    $judul = 'Test Email';
    $deskripsi = 'TESt Email';

    $config = [...]; //config for email is OK

    $this->load->library('email', $config);
    $this->email->from('tes');
    $this->email->to($email); 
    $this->email->subject($judul);
    $this->email->message($deskripsi);
    $this->email->send();
    return TRUE;

}

我的代码有问题吗?请帮我

标签: phpcodeigniteremail

解决方案


这就是我用来在 codeigniter 中发送多封电子邮件的方式。不要将所有电子邮件方向放在变量 ( $email) 中,而是使用 aforeach循环数组并遵循代码中的详细信息:

function reminder(){
    $recipients= $this->user_model->view();
    var_dump($recipients[0]->email);

    $judul = 'Test Email';
    $deskripsi = 'This is a test';
    $emailuser = 'user123@gmial.com';//for example
    $nameuser = 'name of the user';

    $config = [...]; //config for email is OK

    $this->load->library("email");

  foreach ($recipients as $value) {
    $this->email->initialize($config);
    $this->email->from($emailuser, $nameuser);
    $this->email->to($value->email); 
    $this->email->subject($judul);
    $this->email->message($deskripsi);
    if($this->email->send()){
        $this->session->set_flashdata("email_sent","Email sent successfully."); 
    }else{
        $this->session->set_flashdata("email_sent","Error in sending Email."); 
    }
  }
  return TRUE;
 }

有了这个,您可以发送不止一封电子邮件。我希望它对你有帮助。


推荐阅读