我有一个处理电子邮件的电子邮件控制器。现在,我想从数据库中读取收件人的邮件。
这是我的代码
//Send email
$this->load->library('email');
$this->load->helper('email');
$this->email->set_mailtype("html");
$FLnames = $this->input->post('firstname')." ".$this->input->post('lastname');
$this->email->from($this->input->post('email'), $FLnames);
$this->email->to('myemail@email.com'); //<-------- I want this to be retrieved from the databse
$this->email->subject('Subject');
我对CodeIgniter有点陌生,所以任何帮助都将不胜感激!
从文档中,您可以通过以下方式向多个收件人发送电子邮件:
$list = array('one@example.com', 'two@example.com', 'three@example.com');
$this->email->to($list);
现在要从DB中获得$list,您可以使用Codeigniter的活动记录类,如下所示:
$this->db->select('email_field');
$list = $this->db->get('your_table')->result_array();
假设您有一个包含以下列的用户表:
user_id,电子邮件
创建一个函数从数据库获取电子邮件:
function get_user_email($user_id) {
$this->db->select('email');
$this->db->where('user_id', $user_id);
$query = $this->db->get("users");
$row = $query->row;
return $row->email
}
在您的代码中,更改此:
$this->email->to('myemail@email.com');
对此:$sent_to_email=get_user_email();$this->email->to($sent_to_email);
希望这能帮助