我覺得你有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