使用codeigniter发送多封电子邮件

Nab*_*ieh 7 codeigniter-2

我在我的网站上使用Codeigniter 2.当向多个用户发送电子邮件时,在客户端(gmail,hotmail,..)上显示详细信息的所有地址,如何隐藏地址以仅显示接收者地址.

谢谢

whi*_*san 17

使用密件抄送发送批量电子邮件,如下所示:

function batch_email($recipients, $subject, $message) 
{
  $this->email->clear(TRUE);
  $this->email->from('you@yoursite.com', 'Display Name'); 
  $this->email->to('youremailaddress@yourserver.com');
  $this->email->bcc($recipients);
  $this->email->subject($subject);
  $this->email->message($message);  

  $this->email->send();

    return TRUE;

}
Run Code Online (Sandbox Code Playgroud)

$ recipients应该是以逗号分隔的列表或数组

这意味着您将获得该电子邮件的副本,但所有其他收件人将被bcc'ed,因此不会看到彼此的地址

  • 我并不总是回答问题,但是当我这样做时,发布它的用户不回来告诉我是否有帮助:-( (11认同)

Sar*_*nan 7

我认为你是分配的所有收件人在一个单一的,以法,像

$this->email->to('one@example.com, two@example.com, three@example.com');
Run Code Online (Sandbox Code Playgroud)

这将立即邮寄给所有收件人.要阻止显示所有收件人,请为每个用户单独邮寄,如下所示:

foreach ($list as $name => $address)
{
    $this->email->clear();
    $this->email->to($address);
    $this->email->from('your@example.com');
    $this->email->subject('Here is your info '.$name);
    $this->email->message('Hi '.$name.' Here is the info you requested.');
    $this->email->send();
}
Run Code Online (Sandbox Code Playgroud)

这里$list包含收件人姓名和电子邮件ID的数组.确保clear()在每次迭代开始时使用.