2015-04-10 4 views
0

У меня есть поле в таблице, в которой содержится мое электронное письмо моих пользователей. Поле выглядело так:Отправка электронной почты с одним или несколькими получателями в codeigniter

| no_request | addresed_to            | 
+--------------------------------------------------------------------------+ 
| 001  | [email protected], [email protected], [email protected] | 

Я использую концепцию MVC с использованием codeigniter php. Поэтому я создаю модели так:

public function sendEmail($no_request){ 
    $this->db->select('approved_to'); 
    $this->db->where('no_request', $no_request); 
    $query = $this->db->get('tbl_requestfix'); 

    return $query->row(); 
} 

и это мой контроллер:

public function sendRequestKeAtasan($name, $email_user, $addressed_to, $complaint) { 
    $config = Array(
     'protocol' => 'smtp', 
     'smtp_host' => 'smtp.XXX.XXX, 
     'smtp_port' => 25, 
     'smtp_user' => $email_, 
     'mailtype' => 'html', 
     'charset' => 'iso-8859-1', 
     'wordwrap' => TRUE 
    ); 

    $message = date("h:i:s"); 
    $this->load->library('email', $config); 
    $this->email->set_newline("\r\n"); 
    $this->email->from($email_user, $name); 
    $this->email->to($addressed_to); 
    $this->email->subject("$no_request); 
    $this->email->message("$keluhan"); 

    if ($this->email->send()) { 
     echo 'Email sent.'; 
    } else { 
     show_error($this->email->print_debugger()); 
    } 
} 

Как вы можете видеть, в addresed в моем столе, у меня есть 3 электронных писем адрес. Итак, как я могу отправить электронное письмо 3 пользователям?

ответ

0

просто взорвать ваш $ addressed_to с «» создать массив и передать в «к» методу класса электронной почты CI. Вот пример;

$this->email->to(explode(","$addressed_to)); 
1

В CodeIgniter документации, предоставленной,

Устанавливает адрес электронной почты (ы) получателя (ей). Может быть один адрес электронной почты, разделенного запятыми списка или массива

Например:

$this->email->to('[email protected]'); 
$this->email->to('[email protected], [email protected], [email protected]'); 
$this->email->to(array('[email protected]', '[email protected]', '[email protected]')); 

В этом случае вы сохраните адрес электронной почты с разделителями-запятыми. Таким образом, вы можете отправить их так.

$result = $this->your_model->sendEmail($no_request); 
sendRequestKeAtasan($name, $email_user, $result->addressed_to, $complaint); 

Надеюсь, это будет полезно для вас.

Смежные вопросы