使用codeigniter发送多封电子邮件

时间:2013-07-15 13:59:57

标签: codeigniter-2

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

由于

2 个答案:

答案 0 :(得分: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;

}

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

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

答案 1 :(得分:6)

我认为您将所有收件人分配到一个方法,例如

$this->email->to('one@example.com, two@example.com, three@example.com');

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

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();
}

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