ZF: создаем шаблоны для почтовых сообщений

При необходимости сделать отправку почтовых сообщений с сайта (например, при регистрации, восстановлении пароля или отправки кода активации) не нужно нарушать принципов построения приложения и внедрять код представления, которым в данном случае является шаблон письма, непосредственно в код контроллера.

Достаточно воспользоваться подготовленными шаблонами и при помощи Zend_View заполнять их нужными данными:

// создаем новый вид
$template = new Zend_View();
$template->setScriptPath(APPLICATION_PATH . '/views/emails/');

// присвоим нужные значения (например, после регистрации - код активации аккаунта)
$template->assign('login', 'jurius');
$template->assign('activationCode', '0123456789');

// создаем новый объект Mail
$mail = new Zend_Mail('utf-8');

// рендерим представление в переменную, которая станет телом письма, из нужного шаблона
$body = $template->render('template.phtml');
// дальше настраиваем нужные параметры для отправки почты
$mail->addTo('me@jurius.name');
$mail->setSubject('Тестовое письмо по шаблону');
$mail->setFrom('some@mail.ru','Test account');
$mail->setBodyHtml($body);
$mail->send();

Скрипт вида, используемый для создания письма, прост как всегда:

<body>Здравствуйте, <?=$this->login?>! <br />
Ваш код активации на сайте: <?=$this->activationCode?></body>
Rambler's Top100