这是我的HTML模板
Dear ##name##(##email##),
Thank you for contacting us.
我想,以取代##名##和##电子邮件##与收件人的姓名和谁得到它的人,这将在阵列中提供的电子邮件。 我该怎么做?
这是我这么远
$to_email = array('a@example.com', 'b@example.com', 'c@example.com');
$to_name = array('apple', 'ball', 'cat');
$Email = new CakeEmail();
$Email->from($from);
$Email->to($to_email );
$Email->subject($subject);
$Email->emailFormat('html');
$Email->viewVars(array('data' => $body));
$Email->template('bulk');
$Email->send();
你应该开始创建模板,为您的电子邮件,这将包括您当前的内容(我用的名字example_template.ctp
我下面的样品中):
Dear <?php echo $name; ?> <?php echo $email; ?>,
Thank you for contacting us.
然后,你必须修改设置你的方式viewVars()
和template()
$Email->viewVars(array('email' => $email, 'name' => $name));
$Email->template('example_template');
另外也需要改变过电子邮件发送电子邮件循环,而不是在一个领域将所有收件人的方式。 因此,结合您的输入数组合并为一个,如:
$emails = array(
'a@example.com' => 'apple',
'b@example.com' => 'ball',
'c@example.com' => 'cat'
);
然后,只需过的foreach您的阵列和发送邮件:
$Email = new CakeEmail();
foreach ($emails as $email => $name) {
$Email->from($from);
$Email->to($email);
$Email->subject($subject);
$Email->emailFormat('html');
$Email->viewVars(array('email' => $email, 'name' => $name));
$Email->template('example_template');
$Email->send();
$Email->reset(); // for cleaning up CakeEmail object
}