在我的控制器中有一个代码,用于向一个收件人发送电子邮件,但我想向多个收件人发送邮件.不使用cc,密送或直接分配.我想通过前端输入逗号分隔的邮件ID
如何以逗号分隔的形式获取每个邮件ID?
控制器:
public function shopshare($userid,$shopname,$shop_id)
{
$from_email=$this->input->post('from_email');
$to_email=$this->input->post('to_email');
$subject_url=$this->input->post('url');
$message=$this->input->post('message');
$this->email->from($from_email);
$this->email->to($to_email);
$this->email->subject($url);
$this->email->message($message);
$this->email->send();
redirect(base_url().'shop/shopDetail/'.$shop_id.'/'.$shopname);
}
视图:
To:
解决方法:
您可以使用收件人数组,或者如果它们存储在数据库中,您可以在数组中再次检索和存储所有收件人,而不是通过’,’将它们内部删除.
例如,如果您从数据库创建数组或获取数组结果,
$recipients = Array('user1@gmail.com','user2@gmail.com''user3@gmail.com');
this->email->to(implode(', ', $recipients));
或者也可以提供多封电子邮件
this->email->to('user1@gmail.com','user2@gmail.com''user3@gmail.com');
这将发送给您多封邮件.
编辑根据罗宾斯评论
当您评论您希望从前端文本框中输入多个条目时,
如果它是单个文本框,您可以要求用户通过’,’分开多个电子邮件.
$mails = $this->input->post('email');
this->email->to($mails);
如果您有多个文本框,则为所有文本框命名相同的名称,如’email []’
$mails = $this->input->post('email');
this->email->to(implode(', ', $mails));
标签:php,codeigniter,email
来源: https://codeday.me/bug/20190715/1466222.html