[Cakephp2]CakeShellの俺氏用テンプレ

クーロンジョブに登録して一括メール送信とかに使うパティーンのコード

app/Console/Command/SampleShell.php とかで保存

<?php
//テキトーに書いたので動きません。
//こんな感じってのをつかむ用のコード
App::uses('CakeEmail', 'Network/Email');
class SampleShell extends AppShell {
	// tables
	public $uses = array('Order');
	public function main() {
 
		$data = $this->Order->find('all', 'conditions' => array(/* コンディション書いちゃいなよ */));
		foreach($data as $one) {
			$Email = new CakeEmail('default');
			$Email->template('reminder', 'default');
			$Email->subject('さむしんぐらいく るーてぃーん');
			$Email->to($one['User']['email']);
			$Email->viewVars(array(
				'name' => $one['User']['name'],
				'product' => $one['Product']['name']));
			$Email->send();
		}
 
		$this->out('Fin.');
	}
}

参考

Console and Shells
Running Shells as cronjobs

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です