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