我觉得你有2种可能:
的foreach
让我们假设你有一个函数mail_users
在您UsersController
function mail_users($subject = 'Sample subject') {
$users = $this->User->find('all', array('fields' => array('email'));
foreach ($users as $user) {
$this->Email->reset();
$this->Email->from = '<[email protected]>';
$this->Email->to = $user['email'];
$this->Email->subject = $subject ;
$this->Email->sendAs = 'html';
$this->Email->send('Your message body');
}
}
在这个功能$this->Email->reset()
是重要的。
使用BCC
function mail_users($subject = 'Sample subject') {
$users = $this->User->find('all', array('fields' => array('email'));
$bcc = '';
foreach ($users as $user) {
$bcc .= $user['email'].',';
}
$this->Email->from = '<[email protected]>';
$this->Email->bcc = $bcc;
$this->Email->subject = $subject;
$this->Email->sendAs = 'html';
$this->Email->send('Your message body');
}
现在,你可以调用这个方法并链接到/users/mail_users/subject
欲了解更多信息,请务必仔细阅读手册上的Email Component。
来源
2011-06-02 11:23:32
Tim
' - >到()' 中的电子邮件地址的阵列的工作原理,但应注意的是该电子邮件会将它们作为“到”字段中的地址列表发送 - 而不是像个人可能期望的那样发送个别电子邮件。考虑使用' - >密件抄送()',以防万一您不想向您网站上的每个用户发送您网站上每个用户的电子邮件地址。 – Strixy 2013-08-20 20:55:58
它的静态方式对电子邮件不是动态的。 – 2014-06-24 09:44:39
@IndrajeetSingh我给出了一个例子.. incase的静态数组,你可以传递你的动态数组..这些都是非常基本的。究竟你想要什么?因为我从数据库直接使用CakePHP LIST查询并传递给该TO参数从数据库中提取了数千用户。您所做的方式是foreach,所以这不是正确的方式..我告诉我根据我的工作经验..但是你投了我的票回答..哈哈哈 – AnNaMaLaI 2014-06-25 05:05:33